nohup捕获挂断信号(请参阅参考资料
man 7 signal),而&则不捕获(除非shell以这种方式配置或根本不发送
SIGHUP)。
通常,当使用此命令运行
&并退出Shell之后,Shell将以挂断信号(
kill-SIGHUP<pid>)终止子命令。可以使用来防止这种情况
nohup,因为它会捕获信号并忽略该信号,因此它永远不会到达实际应用程序。
如果您使用的是bash,则可以使用命令
shopt|grephupon来查找shell是否将SIGHUP发送到其子进程。如果关闭,进程将不会终止,这对您来说似乎就是这种情况。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)