pgrep, pkill − look up or signal processes based on name and other attributes |
pgrep [−flvx] [−d delimiter] [−n|−o] [−P ppid,...] [−g pgrp,...] |
[−s sid,...] [−u euid,...] [−U uid,...] [−G gid,...] |
||
[−t term,...] [pattern] |
pkill [−signal] [−fvx] [−n|−o] [−P ppid,...] [−g pgrp,...] |
[−s sid,...] [−u euid,...] [−U uid,...] [−G gid,...] |
|
[−t term,...] [pattern] |
pgrep looks through the currently running processes and lists the process IDs which matches the selection criteria to stdout. All the criteria have to match. For example, pgrep -u root sshd will only list the processes called sshd AND owned by root. On the other hand, pgrep -u root,daemon will list the processes owned by root OR daemon. pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout. |
−d delimiter |
Sets the string used to delimit each process ID in the output (by default a newline). (pgrep only.) |
−f |
The pattern is normally only matched against the process name. When −f is set, the full command line is used. |
−g pgrp,... |
Only match processes in the process group IDs listed. Process group 0 is translated into pgrep’s or pkill’s own process group. |
−G gid,... |
Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used. |
−l |
List the process name as well as the process ID. (pgrep only.) |
||
−n |
Select only the newest (most recently started) of the matching processes. |
||
−o |
Select only the oldest (least recently started) of the matching processes. |
−P ppid,... |
Only match processes whose parent process ID is listed. |
−s sid,... |
Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep’s or pkill’s own session ID. |
−t term,... |
Only match processes whose controlling terminal is listed. The terminal name should be specified without the "/dev/" prefix. |
−u euid,... |
Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used. |
−U uid,... |
Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used. |
−v |
Negates the matching. |
||
−x |
Only match processes whose name (or command line if −f is specified) exactly match the pattern. |
−signal |
Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. (pkill only.) |
pattern |
Specifies an Extended Regular Expression for matching against the process names or command lines. |
Example 1: Find the process ID of the named daemon: unix$ pgrep −u root named Example 2: Make syslog reread its configuration file: unix$ pkill −HUP syslogd Example 3: Give detailed information on all xterm processes: unix$ ps −fp $(pgrep −d, −x xterm) Example 4: Make all netscape processes run nicer: unix$ renice +4 ‘pgrep netscape‘ |
0 |
One or more processes matched the criteria. |
|||
1 |
No processes matched. |
|||
2 |
Syntax error in the command line. |
|||
3 |
Fatal error: out of memory etc. |
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. The running pgrep or pkill process will never report itself as a match. |
The options −n and −o and −v can not be combined. Let me know if you need to do this. Defunct processes are reported. |
ps(1) regex(7) signal(7) killall(1) skill(1) kill(1) kill(2) |
pkill and pgrep were introduced in Sun’s Solaris 7. This implementation is fully compatible. |
Kjetil Torgrim Homme <kjetilho@ifi.uio.no> Albert Cahalan <albert@users.sf.net> is the current maintainer of the procps package. Please send bug reports to <procps-feedback@lists.sf.net> |