根据进程名称杀死进程

ps -ef | grep keyword | grep -v grep | awk '{print $2}' | xargs kill -9

逐个分析:

1, ps -ef | grep keyword: 查出进程名含有 keyword 的所有进程;

2, grep -v grep: 从这些结果里面,把含有 grep 的关键词的进程去除掉, -v 就是去除的意思;

3, awk 'print $2': 就是将结果的第二列的信息打印出来;

4, xargs kill -9: xargs是将它前面命令的结果作为参数,传递给xargs后面的命令。

我们来看看前面的命令的第二列会输出什么信息。

ps -ef | grep php-fpm | grep -v grep
root      1625     1  0 10月11 ?      00:00:16 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
www-data  2096  1625  0 10月11 ?      00:00:00 php-fpm: pool www
www-data  2098  1625  0 10月11 ?      00:00:00 php-fpm: pool www

从左到右的字段分别是
UID       PID       PPID      C     STIME    TTY       TIME         CMD

UID      :程序被该 UID 所拥有

PID      :就是这个程序的 ID 

PPID    :则是其上级父程序的ID

C          :CPU使用的资源百分比

STIME :系统启动时间

TTY     :登入者的终端机位置

TIME   :使用掉的CPU时间。

CMD   :所下达的是什么指令

第二列就是PID,进程ID。

kill -9就是强制杀死,后面的参数就是PID。

这就是一个根据进程名称杀死进程的Linux命令。

猜你喜欢

转载自my.oschina.net/u/3412738/blog/2246205