nohup 应该终止我的脚本进程吗?

nohup 应该终止我的脚本进程吗?

我有一个尝试用 nohup 运行的脚本:

nohup /home/user/script.sh&

如果我运行 ps -a 我仍然可以看到该进程,但如果我关闭终端并再次运行 ps -a 则该进程不存在。这应该发生吗?我想在后台运行该脚本。

谢谢

答案1

这是因为该进程是通过您当前所在的终端生成的,并且您的 & 正在将其放入该终端的后台。

执行 a ps faux,您可以看到该进程的族谱,并注意它是如何从您当前所在的终端生成的。如果您终止该终端进程,您也会终止所有子进程,例如当前正在运行的子进程脚本。

替代方法是使用类似tmux或 的东西screen在后台会话中运行脚本,将其作为 cronjob 运行,或者通过 init 系统为其创建一个单元文件来对其进行守护进程。

相关内容