Linux下批量kill多个进程的方法

时间:2022-08-28 20:53:28

有两个进程,需要kill,单个操作比较费力

$ ps -ef | grep kaf
deploy 31679 1 0 14:25 pts/0 00:00:00 /bin/bash /usr/local/orange/daemonKafka.sh
deploy 31698 1 0 14:25 ? 00:00:00 /usr/local/orange/bin/kafka /usr/local/orange/cfg/kafka_agent.conf
deploy 31752 30964 0 14:25 pts/0 00:00:00 grep kaf

批量kill

$ ps -ef|grep /usr/local/orange/|grep -v grep|cut -c 9-15|xargs kill -9 

查看进程是否还存在

$ ps -ef | grep kaf
deploy 31801 30964 0 14:26 pts/0 00:00:00 grep kaf
  • “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
  • “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
  • “xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。

参考:

http://www.jb51.net/LINUXjishu/43534.html