工作过程一般 ps
使用命令。Ps命令提供有关在系统上运行的进程的详细信息。我们通常使用 grep
命令 ps
过滤或匹配。有一种更实用的工作方法。Pgrep和pkill可用于管理、列出和终止进程。
语法
pgrep [options] pattern pkill [options] pattern
救命
快速帮助关于 pkill
命令可以通过 -h
选项如下。
$ pkill -h

列出进程ID
最简单最常用的用法 pgrep
只是在进程列表中提供一些搜索条件。在本例中,我们将搜索 ssh
在进程列表中。
$ pgrep ssh

我们可以从截图中看到,包含ssh的所有进程ID都被逐行列出。
打印进程计数
pgrep的另一个用法是计算相关进程。我们可以用 wc
命令来计算行数,但pgrep all ready提供了以下功能 -c
选项。这不会列出进程ID,只列出进程ID的计数。
$ pgrep -c ssh

设置进程列表的分隔符
如果有多个进程,默认情况下会逐行列出此进程ID。有一个选项可以通过指定的分隔符对PID进行分隔来列出PID。我们可以用 -d
选项。在这个例子中,我们要列出PID的 -
分隔符。
$ pgrep -d "-" ssh

匹配用户ID
另一个有用的特性是根据用户ID匹配和过滤PID。因为我们知道每个进程都有相关的用户ID,用于安全和权限问题。我们可以使用 -U
或 --uid
在这个例子中,我们需要ot过滤器 ssh
相关用户ID为的进程的术语 1000
$ pgrep -U 1000 ssh

仅匹配组名
我们还可以指定组名来过滤进程。如我们所知,出于安全和权限的考虑,进程是用相关的用户名和组名创建的。我们将使用 -G
参数。在本例中,我们要列出组名 ismail
对于 ssh
进程名称中的术语。
$ pgrep -G ismail ssh

仅匹配组ID
在前面的示例中,我们使用了组过滤器的名称。我们还可以使用 -g
选项。在本例中,我们将筛选组ID 1000 .
$ pgrep -g 1000 ssh
显示进程名称
默认情况下,pgrep命令将只列出PID。但有时我们可能也需要显示进程名称。为此,我们将使用 -l
选项如下。
$ pgrep -l ssh

显示完整命令行
在前面的示例中,我们只列出了命令。因此,将没有关于命令的参数或选项。我们可以列出命令的所有信息 -a
选项。
$ pgrep -a ssh

反向匹配
到目前为止,我们只列出了匹配的流程和相关信息。我们可以反转输出。这意味着输出将是不匹配的进程。我们将使用 -v
选项。但是会有很多输出线。
[email protected]:~$ pgrep -v ssh

完全匹配
默认情况下,术语搜索是在松弛模式下完成的。因此,如果只有部分命令匹配,则显示命令。我们可以更严格地改变匹配行为。精确匹配时,仅显示完全匹配的命令。我们将使用 -x
.
$ pgrep -x sshd

显示最新的
如果有多个进程,我们可以根据它们的年龄筛选这些进程。我们只能用 -n
参数。
$ pgrep -n ssh

显示最早的
在前面的示例中,我们列出了最新的流程。我们也可以只显示最古老的进程 -o
选项
$ pgrep -o ssh

相关文章: Linux Grep命令简介及实例