5

我在这里查看这个问题,但它似乎对我不起作用:How to get the process id of a bash subprocess on command line

所以我有一个在子shell中启动的命令,例如:

(sleep 10 &)

然后我怎样才能获得该睡眠命令的进程 ID,并等待它?

如果我在上面链接中的所有进程 ID 都与我看到的不匹配之后执行 ps。

谢谢。

4

1 回答 1

4

父母是唯一可以正确等待孩子完成的过程,因此您需要从子外壳中进行等待。

(sleep & wait)
(sleep & pid=$!; wait $pid)
于 2013-12-13T18:39:10.760 回答