云网牛站
所在位置:首页 > Linux命令 > Linux中Pgrep命令的使用方法:用于根据不同的标准找出正在运行的程序的PID

Linux中Pgrep命令的使用方法:用于根据不同的标准找出正在运行的程序的PID

2020-02-19 09:15:08作者:吴弈达稿源:云网牛站

本文为您讲解Linux操作系统中的Pgrep命令,它的基本使用方法。pgrep是一个命令行实用程序,可让您根据给定的条件查找正在运行的程序的进程ID。它可以是完整或部分的进程名称,运行该进程的用户或其他属性,参考pgrep命令_Linux pgrep命令使用详解:从运行进程队列中查找进程。pgrep命令是procps(或procps-ng)软件包的一部分,该软件包已预装在几乎所有Linux发行版中。

Linux中Pgrep命令的使用方法:用于根据不同的标准找出正在运行的程序的PID

 

如何使用pgrep命令

pgrep命令的语法如下:

pgrep [OPTIONS] <PATTERN>

使用扩展的正则表达式指定匹配的<PATTERN>。

当不带任何选项调用时,pgrep将显示与给定名称匹配的所有正在运行程序的PID,例如,要查找SSH服务器的PID,应运行:

pgrep ssh

如果存在名称与“ssh”匹配的正在运行的进程,则其PID将显示在屏幕上,如果未找到匹配项,则输出为空:

1039

2257

6850

31279

当至少一个正在运行的进程与请求的名称匹配时,该命令返回0,否则,退出代码为1,在shell脚本中使用时,这很有用。

pgrep在换行符上打印每个匹配的进程ID,-d选项允许您指定其他定界符,例如,如果要使用空格作为定界符,请输入:

pgrep ssh -d' '

返回:

1039 2257 6850 31279

-l选项使pgrep显示进程名称及其ID:

pgrep ssh -l

pgrep使用正则表达式执行搜索操作,并将列出名称中包含“ssh”的所有进程:

1039 sshd

2257 ssh-agent

6850 ssh

31279 ssh-agent

如果只想匹配名称与搜索模式完全相同的进程,则可以使用:

pgrep '^ssh$' -l

返回:

6850 ssh

注:尖号(^)字符在字符串的开头匹配,而美元($)在结尾。

默认情况下,pgrep只匹配进程名称,使用-f选项时,该命令将与完整的参数列表匹配:

pgrep -f ssh

使用-u选项使pgrep显示给定用户正在运行的进程:

pgrep -u root

要指定多个用户,请用逗号分隔其名称:

pgrep -u root,mark

您还可以组合选项和搜索模式,例如,要打印所有在用户“mark”下运行并且名称中包含“gnome”的进程及其名称,您可以输入:

pgrep -l -u mark gnome

要仅显示最旧或最新启动的进程,请使用-n(代表最新)或-o(代表最旧)选项。

例如,要查找由用户“mark”启动的最新进程,请输入:

pgrep -lnu mark

从上面的示例中可以看到,您还可以组合选项,而选项之间不能有空格,并且可以用一个短划线隔开。

要反转匹配,即仅显示不符合给定条件的进程,请使用-v选项,以下命令将打印用户“mark”未运行的所有进程:

pgrep -v -u mark

-c选项使pgrep只打印匹配进程的计数,例如,要查找以“mark”用户身份运行的进程,请输入:

pgrep -c -u mark

 

关于pgrep帮助信息

pgrep命令用于根据不同的标准找出正在运行的程序的PID。

有关pgrep命令的更多信息,请在终端中输入man pgrep命令以查看pgrep的帮助信息。

 

相关主题

用which、nohup、ps、pgrep、pidof、top、kill、pkill来管理进程

Linux命令子频道
精选文章
热门文章