在虚拟机用脚本跑了几十个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命令是一个神奇的命令,对编写单行命令很有帮助,值得学习。
总结:
- 多思考,linux可以很方便的,别做重复的蠢事。
- 学一下xargs命令。