这正是问题所要问的。此外,我所拥有的只是 PID,而我从中运行命令的 shell 不一定是最初调用该进程的 shell。有任何想法吗?
问问题
1979 次
3 回答
2
这不是一个非常巧妙的方法,但是您可以不断kill(2)
地向指定的 pid 发出系统调用,将零作为信号。第一次设置为kill
不成功,你可以断定进程已经退出。errno
ESRCH
于 2010-11-09T21:52:20.597 回答
2
while ps -p $PID >/dev/null 2>&1; do sleep 1; done
或者
while ps -p $PID >/dev/null 2>&1; do :; done
于 2010-11-09T22:39:11.837 回答
1
您可以检查目录 /proc/PID 是否存在。它似乎比发送多个信号更干净
于 2010-11-09T22:04:55.787 回答