我正在通过Jenkins在Linux Shell上执行pkill命令。
当进程不存在时,此命令将始终使构建失败。
sudo docker exec mycontainer sh -c 'pkill -f processToKill || true '
为什么?即使pkill失败,如何使它成功?
最佳答案
您正在自杀-|| true
部分将永远无法到达:
$ sh -c 'pkill -f processToKill || true' ; echo $?
Terminated
143
原因是您提供给
-f
的pkill
标志。从联机帮助页: -f, --full
The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
您需要改善pkill语句的过程选择,因此它不会捕获传递给
sh
的命令行。关于linux - 通过Jenkins在shell中执行 “pkill”-构建失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37930295/