Search notes:

Shell command: pgrep

pgrep finds processes by their name and attributes.
If not specified otherwise (for example with the -l or -a option), pgrep prints the PID of the matched processes.

Options

Short Long Argument(s)
-signal --signal signal Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. (pkill only.)
-c --count Suppress normal output; instead print a count of matching processes. When count does not match anything, e.g. returns zero, the command will return non-zero value. Note that for pkill and pidwait, the count is the number of matching processes, not the processes that were successfully signaled or waited for.
-d --delimiter delimiter Sets the string used to delimit each process ID in the output (by default a newline). (pgrep only.)
-e --echo Display name and PID of the process being killed. (pkill only.)
-f --full The pattern is normally only matched against the process name. When -f is set, the full command line is used.
-g --pgroup pgrp,… Only match processes in the process group IDs listed. Process group 0 is translated into pgrep's, pkill's, or pidwait's own process group.
-G --group gid,… Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used.
-i --ignore-case Match processes case-insensitively.
-l --list-name List the process name as well as the process ID. (pgrep only.)
-a --list-full List the full command line as well as the process ID. (pgrep only.)
-n --newest Select only the newest (most recently started) of the matching processes.
-o --oldest Select only the oldest (least recently started) of the matching processes.
-O --older secs Select processes older than secs.
-P --parent ppid,… Only match processes whose parent process ID is listed.
-s --session sid,… Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep's, pkill's, or pidwait's own session ID.
-t --terminal term,… Only match processes whose controlling terminal is listed. The terminal name should be specified without the "/dev/" prefix.
-u --euid euid,… Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used.
-U --uid uid,… Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.
-v --inverse Negates the matching. This option is usually used in pgrep's or pidwait's context. In pkill's context the short option is disabled to avoid accidental usage of the option.
-w --lightweight Shows all thread ids instead of pids in pgrep's or pidwait's context. In pkill's context this option is disabled.
-x --exact Only match processes whose names (or command lines if -f is specified) exactly match the pattern.
-F --pidfile file Read PIDs from file. This option is more useful for pkillorpidwait than pgrep.
-L --logpidfile Fail if pidfile (see -F) not locked.
-r --runstates D,R,S,Z,… Match only processes which match the process state.
--ns pid Match processes that belong to the same namespaces. Required to run as root to match processes from other users. See --nslist for how to limit which namespaces to match.
--nslist name,… Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user,uts.
-q --queue value Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2) , then it can obtain this data via the si_value field of the siginfo_t structure.
-V --version Display version information and exit.
-h --help Display help and exit.

Examples

Find java processes:
$ pgrep java
Find the process ID of the named daemon:
$ pgrep -u root named
Make syslog reread its configuration file:
$ pkill -HUP syslogd
Give detailed information on all xterm processes:
$ ps -fp $(pgrep -d, -x xterm)
Make all chrome processes run nicer:
$ renice +4 $(pgrep chrome)

Misc

The process name used for matching is limited to the 15 characters present in the output of /proc/$pid/stat.
Use the -f option to match against the complete command line (/proc/$pid/cmdline).
pgrep does not report itself as a match.

See also

Other shell commands (such as ps)

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/Linux/sh...', 1758200355, '216.73.216.150', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/Linux/shell/commands/pgrep(109): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78