如何知道后台作业是否完成?

San*_*San 7 process nohup background-process

我通过另一个脚本(do_manythings)在后台调用一个脚本(do_something),如下所示。

nohup do_something &
Run Code Online (Sandbox Code Playgroud)

我如何在父脚本 (do_manythings) 中知道调用的作业 (do_something) 已经完成?

Flu*_*lup 10

如果你想关闭后台工作,做一些其他的事情,然后停下来等待后台工作完成,你可以这样做

nohup do_something &
pid=$!
...更多东西...
等待$pid

或者,您可以测试已退出的作业,如下所示:

nohup do_something &
pid=$!
...更多东西...
ps -p $pid > /dev/null
[$? == 1 ] && 回声“它不见了,伙计!”