繁体   English   中英

如何知道该进程是否设置为NOHUP?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM