Linux 之 pgrep/pkill 命令

pgrep/pkill 检索终止当前正在运行的程序

鉴于用man pgrep 和man pkill的时候出来的同一个释义,所以要一次说两个命令了。

Linux pgrep和pkill 命令根据名称和其他属性来查找或发送处理的信号。

官方定义为:

pgrep, pkill – look up or signal processes based on name and other attributes

pgrep将查找当前运行的进程中满足条件的并打印到stdout中。

语法
语法如下所示:

$ pgrep [options] pattern
$ pkill [options] pattern
常用的参数为:

-u 选择仅匹配指定有效用户ID进程

-I 列出进程名及进程ID

-a 列出进程的详细命令行

默认无参数
默认情况下,仅仅列出包含关键词的进程ID。

$ pgrep ssh
3073
3833
4475
5786
5955
11301
13654

而pkill刚好相反,直接发送终止信号(默认为SIGTERM)给这些进程。

指定用户

可以通过-u来指定用户

$ pgrep ssh -u username
4475
22084
27695

列出进程名
仅仅看到ID是崩溃的,因为不知道具体的进程,可以通过-l来查看进程名

$ pgrep ssh -l
3073 sshd
3833 ssh-agent
4475 ssh-agent
5786 ssh-agent
5955 sshd

更详细的进程信息

或许知道的进程名,还不足以了解具体信息,此时-a选项就派上用场了。

$ pgrep ssh -a
3073 /usr/sbin/sshd -D
3833 /usr/bin/ssh-agent /etc/X11/xinit/Xclients
5955 sshd: /usr/sbin/sshd -D -f /assets/sshd_config -e [listener] 0 of 100-200 startups

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/92763.html

联系我们
联系我们
分享本页
返回顶部