【发布时间】:2022-01-13 07:49:10
【问题描述】:
我正在使用 shell 脚本中的“kill -9 pid”杀死多个进程,并且正如预期的那样,退出代码是非零的。
有没有什么方法可以在获取退出代码 0 的同时使用它的 pid 杀死进程?
代码sn-p:
echo $1 $2
for pid in $(ps -ef | grep "$1" | grep "$2" | grep "main-app" | grep -v grep | awk '{print $2}'); do
kill -9 $pid
exit 0
done
【问题讨论】:
-
你为什么要那个?这听起来像XY Problem
-
如果您希望进程通过退出 0 来响应信号,那么该进程将需要处理该信号。由于无法捕获 SIGKILL,因此您将无法使用
kill -9执行此操作。清理接收进程,让它处理 SIGTERM 并停止用大锤砸它。
标签: linux bash shell unix scripting