如何让“kill”忽略不存在的进程

如何让“kill”忽略不存在的进程

如果该进程不存在,如何告诉kill命令忽略该进程?

例如:3453是一个活着的进程但是44534不是。

kill -9 3453 44534

答案1

for pid in 3453 44534
do
  kill -9 "$pid" > /dev/null 2> /dev/null || :
done

Bash 参考文档:作业控制内置函数。kill

答案2

kill -9 3453 || kill -9 44535

答案3

大多数人不知道这kill是许多 shell 的内置命令,我假设您使用的是 bash,并且想要抑制可能生成的“没有这样的进程”消息。/bin/kill我的一台机器上的可执行文件不会生成此类消息。

$ /bin/kill -9 3453 44534

答案4

taskid=12345

if ps ax | grep -v grep | grep $taskid > /dev/null; then
  kill -9 $taskid
  # Task killed
fi

相关内容