如何在shell脚本中使用nohup命令

时间:2015-09-18 07:17:32

标签: shell

我有脚本slp.sh,这只是一个睡眠命令。 我需要使用另一个名为“trigger.sh”的脚本来触发此脚本。触发slp.sh后,需要检查slp.sh的状态(它是否正在运行)

为此我使用了命令“nohup sh slp.sh&”在trigger.sh脚本中但是我无法监视slp.sh的运行状态,因为脚本执行已经停止为“nohup:将输出附加到'nohup.out'”

1 个答案:

答案 0 :(得分:0)

nohup将在slp.sh终止后终止,因此您只需检查nohup进程是否仍然有效。您可以使用例如kill -0。以下应该在实践中起作用(至少对于bash):

nohup sh slp.sh &
LASTPROCESS=$!
...
if kill -0 $LASTPROCESS; then echo still running; else echo has terminated; fi