Upstart - Start-stop-daemon 与 exec 对比

Upstart - Start-stop-daemon 与 exec 对比

我正在使用 upstart 编写我的第一个 init conf 文件。我想知道使用 start-stop-daemon 启动守护进程有什么好处。

为什么这样做更好:

exec /path/to/my/daemon {args}

是否有义务使用 start-stop-daemon 来启动守护进程?

答案1

唯一的原因想到使用 start-stop-daemon 的原因是,如果启动前或停止后部分需要以 root 身份运行,但主进程需要另一个用户。示例如下:

# Create directory with the daemon's user (need to run this as root)
pre-start exec install -o _foo -g _foo -d /run/foo

# Use start-stop-daemon to run the daemon as another user and group
exec start-stop-daemon -S -q -c _foo:_foo -x /usr/sbin/foo -- {args}

setuid在这种情况下,和节setgid将不起作用,因为预启动过程将具有非特权用户并且将无法创建/run/foo

除此之外,只需使用exec

相关内容