Bash获取在子shell中启动的进程的进程ID

时间:2013-12-13 18:36:12

标签: bash shell process subshell

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

所以我有一个命令,我在子shell中开始,比如:

(sleep 10 &)

如何获取该睡眠命令的进程ID,并等待它?

如果我在上面的链接中没有任何进程ID与我看到的进程ID匹配后执行ps。

感谢。

1 个答案:

答案 0 :(得分:4)

父母是唯一可以等待孩子完成的过程,因此你需要从子shell中等待。

(sleep & wait)
(sleep & pid=$!; wait $pid)