NAME
pgrep, pkill — search or kill processes based on process name and attributes
SYNOPSIS
pgrep
[-flvx]
[-n|-o]
[-d
dlim]
[-e
etimelist]
[-g
pgrplist]
[-G
grouplist]
[-P
ppidlist]
[-R
prmgrplist]
[-s
sidlist]
[-S
statelist]
[-t
termlist]
[-u
userlist]
[-U
ruserlist]
[-z
vszlist]
[-Z
psetlist]
[pattern]
pkill
[-signal]
[-fvx]
[-n|-o]
[-e
etimelist]
[-g
pgrplist]
[-G
grouplist]
[-P
ppidlist]
[-R
prmgrplist]
[-s
sidlist]
[-S
statelist]
[-t
termlist]
[-u
userlist]
[-U
ruserlist]
[-z
vszlist]
[-Z
psetlist]
[pattern]
DESCRIPTION
pgrep
searches for processes having attributes matching the selection criteria
specified by its arguments.
The process ID numbers of the matched processes
are printed, separated by a delimiter, the default being the newline.
Each attribute option can take multiple values separated by comma.
pgrep
will select those processes that match all the attribute options specified.
If an attribute option has multiple values, then the process needs to match one
of the values.
For example:
pgrep -u root,daemon -G sys,daemon
matches processes having effective user ID
(root
OR
daemon)
AND real group ID
(sys
OR
daemon).
pkill
selects processes similar to
pgrep,
but instead of printing the process ID numbers, it signals the matched
processes.
The user can specify the signal to be sent to the matched process
as the first argument to
pkill.
By default
SIGTERM
is assumed.
Options
The following options can be used to specify processes to be selected.
- -signal
Specifies the signal to be sent to each matched process
(pkill only).
If no signal is specified,
SIGTERM
is sent by default.
The value of signal follows the same syntax as that of the
kill
command; see
kill(1).
This option, if specified, should be the first argument to
pkill.
- -d dlim
Specifies the delimiter to be used while printing the matched entries
(pgrep
only).
The default delimiter is a newline.
- -e timelist
Selects processes whose elapsed time matches the time limits specified in
timelist.
This time limit
can be specified as given below:
gtime1ltime2
which will be interpreted as elapsed time
greater
than
time1
and
less
than
time2.
If the argument is only
time,
then
gtime
is assumed.
The syntax for specifying time is:
D:H:m:s
for
D
days,
H
hours,
m
minutes and
s
seconds.
If one of the fields is empty, then 0 is assumed for that field.
For example:
-e 300
will be interpreted as elapsed time greater than 300 seconds, and
-e g30:10l2:::,g3:::,l10
will be interpreted as elapsed time
(greater than 30 minutes and 10 seconds AND less than 2 days,
specified by 'el'2) OR
(greater than 3 days) OR (less than 10 seconds, specified by 'el'10).
- -f
Perform pattern matching on the entire command line rather than
the command name.
- -G grouplist
Select processes whose real group ID numbers or group names are given in
grouplist.
- -g pgrplist
Select processes whose process group ID numbers are given in
pgrplist.
- -l
Long listing
(pgrep
only).
Print the command name along with the PID.
If used with the
-f
option, the command line argument is printed instead of command name.
- -n
Select the most recently created process matching the criteria.
This option is mutually exclusive with the
-o
option.
- -o
Select the oldest process matching the criteria.
This option is mutually
exclusive with the
-n
option.
- -P ppidlist
Select processes whose parent process ID numbers are given in
ppidlist.
- -R pgrmgrplist
Select processes belonging to PRM process resource groups whose
names or ID numbers are given in
prmgrplist.
See
DEPENDENCIES.
- -S statelist
Selects processes whose current state is given in the
statelist.
The values for
statelist
can be:
- R
Running
- S
Sleeping
- T
Stopped
- Z
Zombie
- -s sidlist
Select processes whose session ID numbers are given in
sidlist.
- -t termlist
Select processes associated with the terminals given in
termlist.
Terminal identifiers can be specified in one of two forms:
the device's file name (such as
tty04),
or
if the device's file name starts with
tty,
just the rest of it (such as
04).
If the device's file is in a directory other than
/dev
or
/dev/pty,
the terminal identifier must include the name
of the directory under
/dev
that contains the device file (such as
pts/5).
- -U ruserlist
Select processes whose real user ID numbers or login names
are given in
ruserlist.
- -u userlist
Select processes whose real user ID numbers or login names are given in
userlist.
- -v
Reverse selection.
Select processes that do not meet the matching criteria.
- -x
Perform an exact match of the pattern string.
- -Z psetidlist
Select processes whose processor set IDs are given in
psetlist.
- -z sizelist
Selects processes whose virtual size matches the size limits specified in
sizelist.
The syntax for specifying size limit is as given below:
glowerlimitlupperlimit
which will be interpreted as
virtual size in kilobytes
greater
than
lowerlimit
and
less
than
upperlimit.
If the argument is only
limit
then
glimit
is assumed.
Operands
- pattern
Expression (ERE) pattern to match against either the basename or
full process argument string.
See
regexp(5)
for a complete description of the ERE syntax.
EXTERNAL INFLUENCES
Environment Variables
If
LANG
is not specified or is null, it defaults to
C
(see
lang(5)).
RETURN VALUE
pgrep
and
pkill
exits with one of the following values:
- 0
One or more processes matched the criteria.
- 1
No process matched the criteria.
- 2
Syntax error in command line.
- 3
Other errors
EXAMPLES
Print PID of the cron daemon:
Send
SIGHUP
signal to
syslogd:
pkill -HUP -u root syslogd
Print PIDs of telnet sessions that are active for more than 2 days:
WARNINGS
Process information can change while
pgrep
or
pkill
is running; the picture it gives is only a snapshot in time.
With the
-f
option,
pgrep
and
pkill
matches only up to the initial 1020 bytes of command line with
the pattern string.
pgrep
and
pkill
will not match itself.
DEPENDENCIES
HP Process Resource Manager
The
-R
option require the optional
HP Process Resource Manager (PRM) software
to be installed and configured.
See
prmconfig(1)
for a description of how to configure HP PRM, and
prmconf(4)
for the definition of
process resource group.
If HP PRM is not installed and configured and
-R
is specified,
pgrep
or
pkill
fails with error message.
FILES
- /dev
Directory of terminal device files.
SEE ALSO
kill(1),
ps(1),
ptree(1).
HP Process Resource Manager:
prmconfig(1),
prmconf(4)
in
HP Process Resource Manager User's Guide.