xref: /freebsd/bin/pkill/pkill.1 (revision 9fd69f37d28cfd7438cac3eeb45fe9dd46b4d7dd)
1.\"	$NetBSD: pkill.1,v 1.8 2003/02/14 15:59:18 grant Exp $
2.\"
3.\" $FreeBSD$
4.\"
5.\" Copyright (c) 2002 The NetBSD Foundation, Inc.
6.\" All rights reserved.
7.\"
8.\" This code is derived from software contributed to The NetBSD Foundation
9.\" by Andrew Doran.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. All advertising materials mentioning features or use of this software
20.\"    must display the following acknowledgement:
21.\"        This product includes software developed by the NetBSD
22.\"        Foundation, Inc. and its contributors.
23.\" 4. Neither the name of The NetBSD Foundation nor the names of its
24.\"    contributors may be used to endorse or promote products derived
25.\"    from this software without specific prior written permission.
26.\"
27.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
28.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
31.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37.\" POSSIBILITY OF SUCH DAMAGE.
38.\"
39.Dd February 11, 2010
40.Dt PKILL 1
41.Os
42.Sh NAME
43.Nm pgrep , pkill
44.Nd find or signal processes by name
45.Sh SYNOPSIS
46.Nm pgrep
47.Op Fl LSafilnoqvx
48.Op Fl F Ar pidfile
49.Op Fl G Ar gid
50.Op Fl M Ar core
51.Op Fl N Ar system
52.Op Fl P Ar ppid
53.Op Fl U Ar uid
54.Op Fl d Ar delim
55.Op Fl g Ar pgrp
56.Op Fl j Ar jid
57.Op Fl s Ar sid
58.Op Fl t Ar tty
59.Op Fl u Ar euid
60.Ar pattern ...
61.Nm pkill
62.Op Fl Ar signal
63.Op Fl ILafinovx
64.Op Fl F Ar pidfile
65.Op Fl G Ar gid
66.Op Fl M Ar core
67.Op Fl N Ar system
68.Op Fl P Ar ppid
69.Op Fl U Ar uid
70.Op Fl g Ar pgrp
71.Op Fl j Ar jid
72.Op Fl s Ar sid
73.Op Fl t Ar tty
74.Op Fl u Ar euid
75.Ar pattern ...
76.Sh DESCRIPTION
77The
78.Nm pgrep
79command searches the process table on the running system and prints the
80process IDs of all processes that match the criteria given on the command
81line.
82.Pp
83The
84.Nm pkill
85command searches the process table on the running system and signals all
86processes that match the criteria given on the command line.
87.Pp
88The following options are available:
89.Bl -tag -width ".Fl F Ar pidfile"
90.It Fl F Ar pidfile
91Restrict matches to a process whose PID is stored in the
92.Ar pidfile
93file.
94.It Fl G Ar gid
95Restrict matches to processes with a real group ID in the comma-separated
96list
97.Ar gid .
98.It Fl I
99Request confirmation before attempting to signal each process.
100.It Fl L
101The
102.Ar pidfile
103file given for the
104.Fl F
105option must be locked with the
106.Xr flock 2
107syscall or created with
108.Xr pidfile 3 .
109.It Fl M Ar core
110Extract values associated with the name list from the specified core
111instead of the currently running system.
112.It Fl N Ar system
113Extract the name list from the specified system instead of the default,
114which is the kernel image the system has booted from.
115.It Fl P Ar ppid
116Restrict matches to processes with a parent process ID in the
117comma-separated list
118.Ar ppid .
119.It Fl S
120Search also in system processes (kernel threads).
121.It Fl U Ar uid
122Restrict matches to processes with a real user ID in the comma-separated
123list
124.Ar uid .
125.It Fl d Ar delim
126Specify a delimiter to be printed between each process ID.
127The default is a newline.
128This option can only be used with the
129.Nm pgrep
130command.
131.It Fl a
132Include process ancestors in the match list.
133By default, the current
134.Nm pgrep
135or
136.Nm pkill
137process and all of its ancestors are excluded (unless
138.Fl v
139is used).
140.It Fl f
141Match against full argument lists.
142The default is to match against process names.
143.It Fl g Ar pgrp
144Restrict matches to processes with a process group ID in the comma-separated
145list
146.Ar pgrp .
147The value zero is taken to mean the process group ID of the running
148.Nm pgrep
149or
150.Nm pkill
151command.
152.It Fl i
153Ignore case distinctions in both the process table and the supplied pattern.
154.It Fl j Ar jid
155Restrict matches to processes inside jails with a jail ID in the comma-separated
156list
157.Ar jid .
158The value
159.Dq Li any
160matches processes in any jail.
161The value
162.Dq Li none
163matches processes not in jail.
164.It Fl l
165Long output.
166Print the process name in addition to the process ID for each matching
167process.
168If used in conjunction with
169.Fl f ,
170print the process ID and the full argument list for each matching process.
171This option can only be used with the
172.Nm pgrep
173command.
174.It Fl n
175Select only the newest (most recently started) of the matching processes.
176.It Fl o
177Select only the oldest (least recently started) of the matching processes.
178.It Fl q
179Do not write anything to standard output.
180.It Fl s Ar sid
181Restrict matches to processes with a session ID in the comma-separated
182list
183.Ar sid .
184The value zero is taken to mean the session ID of the running
185.Nm pgrep
186or
187.Nm pkill
188command.
189.It Fl t Ar tty
190Restrict matches to processes associated with a terminal in the
191comma-separated list
192.Ar tty .
193Terminal names may be of the form
194.Pa tty Ns Ar xx
195or the shortened form
196.Ar xx .
197A single dash
198.Pq Ql -
199matches processes not associated with a terminal.
200.It Fl u Ar euid
201Restrict matches to processes with an effective user ID in the
202comma-separated list
203.Ar euid .
204.It Fl v
205Reverse the sense of the matching; display processes that do not match the
206given criteria.
207.It Fl x
208Require an exact match of the process name, or argument list if
209.Fl f
210is given.
211The default is to match any substring.
212.It Fl Ns Ar signal
213A non-negative decimal number or symbolic signal name specifying the signal
214to be sent instead of the default
215.Dv TERM .
216This option is valid only when given as the first argument to
217.Nm pkill .
218.El
219.Pp
220If any
221.Ar pattern
222operands are specified, they are used as regular expressions to match
223the command name or full argument list of each process.
224If the
225.Fl f
226option is not specified, then the
227.Ar pattern
228will attempt to match the command name.
229However, presently
230.Fx
231will only keep track of the first 19 characters of the command
232name for each process.
233Attempts to match any characters after the first 19 of a command name
234will quietly fail.
235.Pp
236Note that a running
237.Nm pgrep
238or
239.Nm pkill
240process will never consider itself nor system processes (kernel threads) as
241a potential match.
242.Sh EXIT STATUS
243The
244.Nm pgrep
245and
246.Nm pkill
247utilities
248return one of the following values upon exit:
249.Bl -tag -width indent
250.It 0
251One or more processes were matched.
252.It 1
253No processes were matched.
254.It 2
255Invalid options were specified on the command line.
256.It 3
257An internal error occurred.
258.El
259.Sh COMPATIBILITY
260Historically the option
261.Dq Fl j Li 0
262means any jail, although in other utilities such as
263.Xr ps 1
264jail ID
265.Li 0
266has the opposite meaning, not in jail.
267Therefore
268.Dq Fl j Li 0
269is deprecated, and its use is discouraged in favor of
270.Dq Fl j Li any .
271.Sh SEE ALSO
272.Xr kill 1 ,
273.Xr killall 1 ,
274.Xr ps 1 ,
275.Xr flock 2 ,
276.Xr kill 2 ,
277.Xr sigaction 2 ,
278.Xr pidfile 3 ,
279.Xr re_format 7
280.\" Xr signal 7
281.Sh HISTORY
282The
283.Nm pkill
284and
285.Nm pgrep
286utilities
287first appeared in
288.Nx 1.6 .
289They are modelled after utilities of the same name that appeared in Sun
290Solaris 7.
291They made their first appearance in
292.Fx 5.3 .
293.Sh AUTHORS
294.An Andrew Doran
295.Aq ad@NetBSD.org
296