我通过另一个脚本 (do_manythings) 在后台调用脚本 (do_something),如下所示。
nohup do_something &
我如何在父脚本 (do_manythings) 中知道调用的作业 (do_something) 已完成?
答案1
如果您想启动后台作业,做一些其他事情,然后停止并等待后台作业完成,您可以这样做
nohup do_something & PID=$! ...更多东西... 等待$pid
或者,您可以像这样测试作业是否已退出:
nohup do_something & PID=$! ...更多东西... ps -p $pid > /dev/null [ $? == 1 ] && echo“它不见了,伙计!”
答案2
如果您想用作守护程序,您还可以查找start-stop-daemon
(参考资料中的示例)。/etc/init.d/
do_something
答案3
你可以检查一下
ps -ef | grep 'do_something
如果结果显示,则您的脚本仍在运行。
你也可以跑
ps -ef | grep 'your_user_name'
检查您 ID 上所有活动的正在运行的作业。