该PIDOF.和PGREP.命令为您提供参数提供的进程名称提供流程ID(PIDS)列表。这篇文章显示如何使用这些命令并说明它们之间的差异与一系列示例。
PIDOF.
有许多方法可以确定在Linux系统上运行的进程的PID,但最简单的可能是一个调用的命令PIDOF.。阅读这一点是“PID”,你会有一个简单的时间记住它。使用此命令,您可以通过键入“pidof”来获取进程的PID并指定进程名称。例如:
$ pidof bash 1262005
如果你要跑了PS.命令没有参数,您将获得您在当前shell中运行的进程列表。下面的命令显示上述响应所来自:
$ ps pid tty时间cmd1262005PTS / 0 00:00:00 Bash
如果已登录并使用多个人抨击,对该命令的响应将包括所有对于BASH进程的关联PID,您不一定知道没有一些PID属于Shell的其他命令:
$ pidof bash 1265446 1262005
您可以运行这样的命令以显示您的shell:
$ PS |grep bash |awk'{打印1美元}'
1262005
获取系统流程的PID列表,如systemd.,您可以像这样运行一个命令:
$ PIDOF系统1265265 1261815 1548 1
请注意,输出显示四个systemd.进程正在运行。要显示一个PID,可以添加-选项,但是PIDOF.然后,命令只会提供组中最大(最近开始)PID。
$ pidof -s systemd 1265265
如果您在使用时没有回复PIDOF.,您询问的过程无论是未运行还是错误分类。
$ pidof apache2 $
有趣的是,如果您对文件列表进行文件PIDOF.,你会发现它只是与另一个程序的象征性的联系,Killall5.在这个系统上。
$哪个PIDOF / BIN / PIDOF $ ls -l / bin / pidof ls -lwxrwx 1根root 14 2月14日2月13日2020 / bin / pidof - > / sbin / Killall5
即便如此,可执行文件在调用时表现得非常不同PIDOF.。当调用时Killall5.,该命令是用于终止进程的许多命令之一。当被称为时PIDOF.,它返回PID。
PGREP.
该PGREP.命令很喜欢PIDOF.但是,内容中的差异和输出的排列都存在一些差异。例如,我们使用时PIDOF.获取PID列表systemd.,我们得到一个像这样的列表:
$ Pidof Systemd 1261815 1548 1
当我们使用时PGREP.另一方面,我们获得PID的垂直列表,并查看更多条目。为什么?因为PGREP.行为更像Grep.。它寻找包含作为参数提供的字符串的进程,而不仅仅是那些符合进程名称的字符串。
$ PGREP Systemd 1 1010 1548 171864 171907 172061 1261815
在下面的命令中,您可以在所选的上述命令的进程中查看更多详细信息:
$ ps -eo pid,euser,comm |Grep SystemD 1根系统DOOT SYSTEMD-LOGIND 1548 GDM SYSTEMD 171864 SYSTEMD + SYSTEMD + SYSTEMD - 解析171907根系统D-Journal 172061 Root Systemd-Udevd 1261815 SHS系统
包起来
选择进程ID可能是非常有用的,而且PIDOF.和PGREP.命令让您远离将命令的输出管制到其他命令,以缩小输出到仅包含进程ID的列表。
现在看: