linux批量删除进程

在虚拟机用脚本跑了几十个client程序用来测试服务器,然后发现参数设置错误,得重来,就傻眼了,不知道怎么关这么多client进程,总不能一个一个关。还好,学习一下,想出了以下的命令。
 
ps -ef|grep client|grep -v grep|cut -c 9-15|xargs kill -9
 
很快就批量删掉了client进程
 
|:管道,左边的是输出作右边的输入
 
ps -ef:输出所有进程的详细信息
 
grep client: 挑出ps -ef的输出中含有client进程
 
grep -v grep: 在上条挑出的结果中再去掉grep本身,“grep client”这命令也有client不是?
 
cut -c 9-15: 在挑出的行裁剪第9到第15个字符,结果就是PID(进程号)
 
xargs kill -9: 因为kill命令不支持管道,所以用xargs命令传参,个人觉得xargs命令是一个神奇的命令,对编写单行命令很有帮助,值得学习。
 
总结:
  1. 多思考,linux可以很方便的,别做重复的蠢事。
  2. 学一下xargs命令。
原文地址:https://www.cnblogs.com/shenlinken/p/5457532.html