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