---
name: "pidof"
section: "1"
platform: "linux"
package: "procps-ng"
version: "4.0.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pidof"
---

# pidof(1)

find the process ID of a running program

## NAME

pidof - find the process ID of a running program

## SYNOPSIS

**pidof** \[**-s**\] \[**-c**\] \[**-q**\] \[**-w**\] \[**-x**\] \[**-o** *omitpid*\[,...\]\] ... \[**-t**\] \[**-S** *separator*\] *program* ...

## DESCRIPTION

**Pidof** finds the process id's (pids) of the named programs. It prints those id's on the standard output.

## OPTIONS

- **-s**

  Single shot - this instructs the program to only return one *pid*.

- **-c**

  Only return process ids that are running with the same root directory. This option is ignored for non-root users, as they will be unable to check the current root directory of processes they do not own.

- **-q**

  Quiet mode, suppress any output and only sets the exit status accordingly.

- **-w**

  Show also processes that do not have visible command line (e.g. kernel worker threads).

- **-x**

  Scripts too - this causes the program to also return process id's of shells running the named scripts.

- **-o** *omitpid*

  Tells **pidof** to omit processes with that process id. The special pid **%PPID** can be used to name the parent process of the **pidof** program, in other words the calling shell or shell script.

- **-t**

  Shows all thread ids instead of pids.

- **-S** *separator*

  Use *separator* as a separator put between pids. Used only when more than one pids are printed for the program. The **-d** option is an alias for this option for sysvinit **pidof** compatibility.

## EXIT STATUS

- **0**

  At least one program was found with the requested name.

- **1**

  No program was found with the requested name.

## BUGS

When using the **-x** option, **pidof** only has a simple method for detecting scripts and will miss scripts that, for example, use env. This limitation is due to how the scripts look in the proc filesystem.

## SEE ALSO

[**pgrep**(1)](/pgrep/1.md), [**pkill**(1)](/pkill/1.md)

## AUTHOR

Jaromir Capik ⟨jcapik@redhat.com⟩
