在后台启动 linux 进程

Bar*_*lom 10 linux shell-script

我正在尝试创建一个脚本来启动一些程序

启动文件

knetworkmanager
emesene
keepassx
Run Code Online (Sandbox Code Playgroud)

问题是当我运行脚本时,它只启动 knetworkmanager。这是因为它会启动它,然后等到它完成。如何在不等待的情况下启动程序?我不认为我可以在每个命令后添加“&”,因为脚本完成后所有进程仍将被终止。

Kim*_*Kim 16

当运行脚本的 shell 退出时,它会向您启动的进程发送 HUP 信号。如果那些没有捕捉到信号,它们将终止。所以仅使用 & 是否足够取决于应用程序。为了安全起见,请像这样使用 nohup:

nohup your-program >>/dev/null 2>>/dev/null &
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅 nohup 和 kill 的手册页或阅读有关 nohup维基百科文章


Ada*_*ire 10

不,如果您使用&. 尝试一下。

knetworkmanager &
emesene &
keepassx &
Run Code Online (Sandbox Code Playgroud)