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终端

Sidebar