Linux中的Pgrep命令
pgrep
是一个命令行程序,可让您根据指定的条件查找正在运行的进程ID。 它可以是完整或部分进程名称,运行该进程的用户或其他属性。
本教程介绍Linux pgrep
命令的基础。pgrep
命令是procps
(或procps-ng
)软件包的一部分,该软件已预装在几乎所有Linux发行版中。
如何使用pgrep
命令
pgrep
命令的语法如下:
pgrep [OPTIONS] <PATTERN>
使用扩展的正则表达式指定匹配项<PATTERN>
。
不带任何选项调用pgrep
时,指定的模式与正在运行程序进行匹配。 例如,要找到SSH服务器的PID,可以运行:
pgrep ssh
如果正在运行的进程名称与“ssh”匹配,则其PID将显示在屏幕上。 如果未找到匹配项,则输出为空。
10392257
6850
31279
当至少一个正在运行的进程与请求的名称匹配时,命令返回0
。 否则,退出代码为1
。 这在编写shell脚本时很有用。
如果要将kill的信号发送到匹配的进程,请使用pkill
。 该命令是pkill
的包装,并使用相同的选项和模式匹配。
pgrep
在换行符上打印每个匹配的进程ID。 -d
选项允许您指定其他定界符。 例如,如果要使用空格作为定界符,请输入:
pgrep ssh -d' '
1039 2257 6850 31279
-l
选项告诉pgrep
打印进程名称及其进程ID:
pgrep ssh -l
pgrep
使用正则表达式执行搜索操作,并将列出名称中包含“ssh”的所有进程:
1039 sshd2257 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
命令用于根据不同的标准找出正在运行的程序的PID。有关pgrep
命令的更多信息,请访问pgrep手册页面或在终端中输入man pgrep
。如果您有任何问题或反馈,请随时发表评论。
以上是 Linux中的Pgrep命令 的全部内容, 来源链接: utcz.com/z/507601.html