小编典典

如何检查进程ID(PID)是否存在

all

在 bash 脚本中,我想执行以下操作(在伪代码中):

if [ a process exists with $PID ]; then

    kill $PID

fi

条件语句的适当表达式是什么?


阅读 125

收藏
2022-06-08

共1个答案

小编典典

要检查进程是否存在,请使用

kill -0 $pid

但正如所说,如果您希望它在任何情况下终止,那么只需

kill $pid

否则,您将遇到竞争条件,该过程可能在第一个kill -0.

如果你想忽略的文本输出kill并根据退出代码做一些事情,你可以

if ! kill $pid > /dev/null 2>&1; then
    echo "Could not send SIGTERM to process $pid" >&2
fi
2022-06-08