使用带有 --background 选项的 start-stop-daemon 和使用 & 在后台运行进程有什么区别?哪个选项最好,为什么?
问问题
711 次
2 回答
0
我更喜欢&
制作后台工作的选项。但是,在我忘记包含 的情况下&
,我使用 Ctrl-Z 命令停止作业,然后输入bg
将停止的命令移动到后台。
虽然我没有观察到方法的任何差异(&
可以在脚本中使用的例外)。我的一位同事非常高兴地发现了暂停工作的 Ctrl-Z 选项。他声称他有一些“工作得更好”的任务。
如果您想了解有关 Ctrl-Z 和 的更多信息bg
,请查找 bash 作业控制。
于 2020-08-06T01:25:34.233 回答
0
如果您使用start-stop-daemon --background
start-stop-daemon 将派生一个进程在后台运行,然后 start-stop-daemon 立即退出。除此之外,这意味着您可以检查 start-stop-daemon 的退出状态。
如果您使用start-stop-daemon &
,那么 shell 会分叉一个后台进程并在其中运行 start-stop-daemon。您将无法检查其退出状态,因为它实际上不会退出(直到它运行的东西退出)。
在大多数情况下start-stop-daemon --background
是更好的选择。
于 2020-08-06T02:39:13.947 回答