Linux中的Pidof命令
pidof
是一个命令行实用程序,可让您找到正在运行的程序的进程ID。
在本文中,我们将说明如何使用Linux pidof
命令。
如何使用 pidof
命令#
有不同的实现 pidof
用于基于Red Hat和Debian的发行版。 在Red Hat发行版中, pidof
命令是 procps-ng
软件包,在Debian上时,它是 sysvinit-utils
。 我们将介绍两种实现方式共有的选项。
的语法 pidof
命令如下:
pidof [OPTIONS] PROGRAM_NAME
该命令接受零个或多个名称作为参数,但是通常,您只将一个名称传递给 pidof
。
如果没有任何选择地被调用, pidof
将打印与给定名称匹配的所有正在运行程序的PID。 例如,要查找SSH服务器的PID,应运行:
pidof sshd
如果存在名称匹配的正在运行的进程 sshd
,其PID将显示在屏幕上。 如果找不到匹配项,则输出将为空。
4382 4368 811
pidof
退货 0
当至少一个正在运行的程序与请求的名称匹配时。 否则,退出代码为 1
。 在编写shell脚本时,这很有用。
为确保仅显示要搜索的程序的PID,请使用该程序的完整路径名作为参数。 例如,如果您有两个同名的运行程序位于两个不同的目录中 pidof
将显示两个正在运行的程序的PID。
默认情况下,将显示匹配的运行程序的所有PID。 使用 -s
强制选择 pidof
仅显示一个PID:
pidof -s program_name
的 -o
选项允许您从命令输出中排除具有给定PID的进程:
pidof -o pid program_name
什么时候 pidof
与一起调用 -o
选项,您可以使用名为 %PPID
代表调用外壳程序或外壳程序脚本。
要仅返回使用相同根目录运行的进程的PID,请使用 -c
选项。
此选项仅适用 pidof
以root身份运行或 sudo
用户:
pidof -c pid program_name
示例用法 pidof
命令#
以下示例显示了如何使用 pidof
命令与 kill
命令终止程序。
假设Firefox浏览器已无响应,您需要终止Firefox进程。 首先,找到PID pidof
:
pidof firefox
该命令将打印所有Firefox进程:
2551 2514 1963 1856 1771
知道Firefox处理PID之后,请发送 SEGTERM
终止所有信号:
sudo kill -9 2551 2514 1963 1856 1771
您也可以使用命令替换表达式 $(...)
,以一个命令终止程序:
sudo kill -9 $(pidof firefox)
结论#
的 pidof
命令用于查找特定正在运行的程序的PID。
pidof
是一个简单的命令,没有很多选择。 通常,您将调用 pidof
仅带有您要搜索的程序的名称。
如果您有任何疑问或反馈,请随时发表评论。
pidof终端