使用tailf时Linux nohup进程终止

时间:2014-05-06 02:07:11

标签: linux shell nohup

这是我的脚本(run.sh):

rm -f nohup.out
nohup myproc &
tailf nohup.out

如果我运行脚本(sh run.sh)然后按 Control-C myproc将被终止, 但如果我对tailf nohup.out部分发表评论,myproc将按预期在后台运行。 我做错了吗?

1 个答案:

答案 0 :(得分:1)

问题不是SIGHUPnohup会抓到的),而是{k} 发送的SIGINT。这会传播到您的流程。

有关详细信息,请参阅此blog post

根据我从该帖子中读到的内容,您可以将代码更改为以下内容:

setsid myproc 1> output.log 2>&1  &
tail -f output.log

如果您不想使用自己的输出重定向,仍然可以使用nohup

setsid nohup ping -c 30 localhost &
tail -f nohup.out

希望这有帮助!