我尝试使用nohup运行脚本,例如
nohup script.sh &
当我尝试
ps -ef | grep "script.sh"
除了正在使用该字符串作为参数运行的grep之外,我在那里找不到它。
我做对了吗?这是否意味着流程确实已经完成执行?谢谢。
在Shell脚本的开头,将PID写入文件(例如,在/ var / run中)。然后,您只需搜索该PID即可知道该过程是否完成。您可以使用内置$$
变量来获取Shell脚本的PID 。
要记录PID,请放在脚本顶部:
echo $$ > /var/run/myscript.pid
然后,检查它是否仍在运行:
ps -p `cat /var/run/myscript.pid`
您可能无法以/var/run
普通用户身份写入。如果没有,那就用/tmp
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句