[英]Is there a linux command to block until a process exits?
这就是问题所在。 此外,我所拥有的只是PID,而我运行命令的shell不一定是最初调用该进程的shell。 有任何想法吗?
这不是一个非常简洁的方法,但你可以不断向指定的pid发出kill(2)
系统调用,将零作为信号。 通过将errno
为ESRCH
,第一次kill
不成功,您可以得出结论该进程已退出。
while ps -p $PID >/dev/null 2>&1; do sleep 1; done
要么
while ps -p $PID >/dev/null 2>&1; do :; done
您可以检查dir / proc / PID是否存在。 它似乎比发送多个信号更干净
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.