我在这里看这个问题,但它似乎对我不起作用:How to get the process id of a bash subprocess on command line
所以我有一个命令,我在子shell中开始,比如:
(sleep 10 &)
如何获取该睡眠命令的进程ID,并等待它?
如果我在上面的链接中没有任何进程ID与我看到的进程ID匹配后执行ps。
感谢。
答案 0 :(得分:4)
父母是唯一可以等待孩子完成的过程,因此你需要从子shell中等待。
(sleep & wait)
(sleep & pid=$!; wait $pid)