kill -9 $(netstat -antp | grep :8080 | awk '{print $7}' | awk -F'/' '{ print $1 }')
ID=`ps -ef | grep jeecg-boot-module-system-2.4.0.jar | grep -v grep | awk \\'{print \\$2}\\'`
echo "------start---------"
for id in \\$ID
do
            echo "killed \\$id"
            sudo kill -9 \\$id
done

php循环杀

本来以为见鬼了杀不掉,原来是一次一次重新起进程(这个性能直接原地爆炸了)

将上述步骤合并为一个命令如下:

**pids=($(ps -ef | grep "Updategoodsdoudian" | awk '{print $2}'))

for pid in "${pids[@]}"
do
  kill -SIGTERM $pid
  if [[ $(ps -p $pid | grep -c $pid) -gt 0 ]]; then
    kill -SIGKILL $pid
  fi
done**

逐行解释:

这条命令可以一键结束所有匹配"Updategoodsdoudian"的进程。

详细逻辑:

  1. 获取所有目标进程PID
  2. 一次设一个PID
  3. 发送SIGTERM信号
  4. 检查进程是否存在,如果存在
  5. then发送SIGKILL强制结束
  6. 循环结束后,所有目标进程均已结束