PIDOF(1) General Commands Manual PIDOF(1)

# 名称

pidof - 获取正在运行的程序的进程 ID

# 概述

**pidof** \[**-s**] \[**-c**] \[**-q**] \[**-w**] \[**-x**] \[**-o** *忽略pid*\[,...]] ... \[**-t**] \[**-S** *分隔符*] *程序* ...

# 描述

**Pidof** 获取指定程序的进程 ID (pid)。它将这些 id 打印到标准输出。

# 选项

[**-s**](#s)

单次执行 - 让程序仅返回一个 *pid*。

[**-c**](#c)

仅返回在同一根目录下运行的进程 ID。对于非 root 用户，此选项将被忽略，因为他们无法检查不属于他们的进程的当前根目录。

[**-q**](#q)

安静模式，禁止所有输出，仅设置相应的退出状态。

[**-w**](#w)

也显示没有可见命令行的进程（例如内核工作线程）。

[**-x**](#x)

也包括脚本 - 这会导致程序也返回运行指定脚本的 shell 的进程 ID。

[**-o** *忽略pid*](#o)

让 **pidof** 忽略具有该进程 ID 的进程。可使用特殊的 pid **%PPID** 来表示 **pidof** 程序的父进程，即调用它的 shell 或 shell 脚本。

[**-t**](#t)

显示所有线程 ID 而不是 PID。

[**-S** *分隔符*](#S)

使用 *分隔符* 作为 pid 之间的分隔符。仅当程序打印多个 pid 时才使用。**-d** 选项是此选项的别名，以保持和 sysvinit **pidof** 的兼容性。

# 退出状态

**0**

至少找到了一个具有所请求的名称的程序。

**1**

没有找到具有所请求的名称的程序。

# 错误

当使用 **-x** 选项时，**pidof** 检测脚本的方法较为简单，而且会错过一些脚本，比如使用 env 的脚本。此限制是由于脚本在 proc 文件系统中的表示方式导致的。

# 参见

[**pgrep**(1)](/man/os/procps/pgrep.1), [**pkill**(1)](/man/os/procps/pkill.1)

# 作者

[Jaromir Capik](mailto:jcapik@redhat.com)

2023-01-16 procps-ng

---

Document: pidof(1) from procps 4.0.7-r2 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.7.tar.xz
