简介
系统版本:Centos7.6
pkill命令用于杀死一个进程,会根据进程名称和其他属性杀死进程(默认会向进程发送SIGTERM信号,详细请看Linux信号的行为说明),与之相似的命令有killall,与kill命令相比,kill命令需要ps命令的配合查出PID,而pkill命令可以直接根据进程名进行操作,使用起来更为方便。
从man文件来看pkill与pgrep是绑定在一起的。grep会根据进程名称和其他属性查找进程,并列出匹配所有条件进程的PID。例如:
将名为sshd和属于root的进程列出(这里是都要符合)
> pgrep -u root sshd
将属于root的进程或守护进程列出(这里是符合其一即可)
> pgrep -u root,daemon
基础语法
> pkill [option] 进程名
> pgrep [option] 进程名
选项介绍
退出状态
基本用法
1、查找属于root的named守护进程的PID
> pgrep -u root named
2、使 syslog 重新读取其配置文件
> pkill -HUP syslogd
3、提供有关所有 xterm 进程的详细信息
> ps -fp $(pgrep -d, -x xterm)
4、 结束所有的 php-fpm 进程
> pkill -9 php-fpm
注意事项
1、用于匹配的进程名称限制为 /proc/pid/stat 输出中存在的 15 个字符。
以sshd的PID为33513为例
> vim /proc/33513/stat
2、使用 -f 选项与绝对路径 /proc/pid/cmdline 进行匹配。
以sshd的PID为33513为例
> vim /proc/33513/cmdline
3、正在运行的 pgrep 或 pkill 进程永远不会将自身报告为匹配项。
4、选项 -n 和 -o 和 -v 不能组合使用