一、背景
很多时候我们需要迅速杀死某运用程序相关的全部进程,但是又不能杀死某个与该应用程序的特定进程,怎么办呢?结合前一段时间学习的awk及grep,让我们来实践一下吧!
二、实际操作
目前我需要杀死sftp相关的进程,但是不能杀死与grep相关的进程,命令写法如下:
kill -9 $(ps -ef|grep sftp|grep -v grep|awk '{print $2}')
或
kill -9 `ps -ef|grep sftp|grep -v grep|awk '{print $2}'`
三、命令解释
- kill -9 :强制杀死,可能不太准确!
- grep:从标准输出中找到,-v表示反选。
- awk '{print $2}':把标准输出中的每一行第二个字段打印出来。
- $(ps -ef|grep sftp|grep -v grep|awk '{print $2}'):取标准输出的值作为进程id。