如何查找脚本是否以nohup的身份运行完成?

学习者135:

我尝试使用nohup运行脚本,例如

nohup script.sh &

当我尝试

ps -ef | grep "script.sh"

除了正在使用该字符串作为参数运行的grep之外,我在那里找不到它。

我做对了吗?这是否意味着流程确实已经完成执行?谢谢。

爱德华·戴尔(Edward Dale):

在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章