pidof
是一个命令行实用程序,可让您查找正在运行的程序的进程 ID。
在这篇文章中,我们将解释如何使用Linuxpidof
命令。
如何使用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
当至少一个正在运行的程序与请求的名称匹配时。否则,退出代码
is 1
。这在编写 shell 脚本时很有用。
为确保仅显示您正在搜索的程序的 PID,请使用该程序的完整路径名作为参数。例如,如果您有两个正在运行的同名程序,位于两个不同的目录中pidof
将显示两个正在运行的程序的 PID。
默认显示所有匹配的运行程序的PID。使用-s
强制选择pidof
仅显示一个 PID:
pidof -s program_name
The -o
选项允许您从命令输出中排除具有给定 PID 的进程:
pidof -o pid program_name
When pidof
被调用的是-o
选项,您可以使用名为的特殊 PID%PPID
代表调用 shell 或 shell 脚本。
要仅返回在同一根目录下运行的进程的 PID,请使用-c
option.
该选项仅有效pidof
以 root 身份运行或sudo
user:
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)
结论#
The pidof
命令用于查找特定正在运行的程序的PID。
pidof
是一个简单的命令,没有很多选项。通常您会调用pidof
仅包含您正在搜索的程序的名称。
如果您有任何问题或反馈,请随时发表评论。