我使用nohup
命令来运行shell脚本,如下所示:
nohup ./run.sh &
我的问题是:注销终端并稍后返回后,如果该过程完成或仍在运行,我如何检索有关该过程的信息?
通常,您可以检查的输出ps x
。那里run.sh
有没有。如果存在,则可能是您正在寻找的过程或其他一些过程run.sh
。可能需要进一步调查。
但是,有这个技巧。注意nohup
将显示一条消息,如下所示:
nohup: ignoring input and appending output to /home/alli/nohup.out
现在调用:
lsof /home/alli/nohup.out
如果您run.sh
有调用nohup
仍在运行,它应该出现在输出lsof
(两次,因为nohup
重定向文件描述符1
和2
到nohup.out
)。如果使用nohup
了不止一次,lsof
则应返回多个进程。如果nohup
对同一可执行文件使用了不止一次,则可能需要检查/proc/$pid/
(示例)以区分它们。
我会tmux
首先使用。实际上,我每天都会使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句