使用作业我知道该过程正在运行。
bash-4.2$ jobs
[1]+ Running test.sh &
我希望它设置为NOHUP,以便在退出时不会被杀死。我用了
disown
和
bash-4.2$ jobs
什么都没有。我不确定该过程是否设置为NOHUP。我对此感到好奇,因为在我阅读了手册后,它说了
disown -h
应该用于设置NOHUP。
修改
我认为链接Find the Process run by nohup command没有帮助。问题与那个问题不同。
我要重述我的问题。我运行一个没有nohup的程序,后来我想把它设置为NOHUP,这样当我退出系统时它不会被杀死。所以我使用了disown
,但后来我发现手册说我应该用disown -h
来设置NOHUP。我想检查我的进程是否设置为NOHUP成功。如果没有,我该怎么办才能把它设为NOHUP?
答案 0 :(得分:0)
<强>更新强>
我知道有两种方法可以提供帮助:
1)每当进程在nohup
上运行时它会在〜/ nohup.out上写入输出。因此,您可以通过运行命令find -cmin 2
来检查此文件。它会显示nohup.out是否每2秒更改一次。
如果它正在改变,你会理解...... nohup
命令正在运行,之后你可以使用lsof
进行检查并继续检查......
2)如果您从特定用户退出并发送到tty
然后执行ps aux | grep <user>
或ps aux | grep ?
,那么您可以了解运行nohup命令的情况。因为没有pts然后它会显示?而不是......
有用的命令:
ps aux | grep <program> | awk -F" " '{print $7}'
希望有所帮助