[英]How to know if the process is set NOHUP?
使用作业,我知道流程正在运行。
bash-4.2$ jobs
[1]+ Running test.sh &
我希望将其设置为NOHUP,以使其在退出时不会被杀死。 我用了
disown
和
bash-4.2$ jobs
什么也没显示。 我不确定该进程是否设置为NOHUP。 我对此感到很好奇,因为在阅读手册后会说
disown -h
应该用来设置NOHUP。
编辑
我认为链接“ 找到由nohup运行的流程”命令没有帮助。 问题不同于那个。
我要重申我的问题。 我运行的程序没有nohup,后来我希望将其设置为NOHUP,这样在退出系统时不会被杀死。 所以我使用了disown
,但是后来我发现手册说我应该使用disown -h
来设置NOHUP。 我想检查我的过程是否设置为NOHUP或未成功设置。 如果没有,我该怎么做才能将其设置为NOHUP?
UPDATE
我知道两种帮助方式:
1)每当进程在nohup
上运行时,它将输出写入〜/ nohup.out。 因此,您可以通过运行命令find -cmin 2
来检查此文件。 它显示nhup.out是否每2秒更改一次。 如果它正在更改,您将理解nohup
命令正在运行sth,之后您可以使用lsof
进行检查并继续进行检查...
2)如果您从特定用户andgo注销到tty
请执行ps aux | grep <user>
ps aux | grep <user>
或ps aux | grep ?
ps aux | grep ?
那么您可以理解那是使用nohup命令运行的...因为没有pts,那么它告诉您? 代替...
有用的命令:
ps aux | grep <program> | awk -F" " '{print $7}'
希望对您有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.