Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PKILL(1)		    General Commands Manual		      PKILL(1)

NAME
       pgrep, pkill -- find or signal processes	by name

SYNOPSIS
       pgrep  [-LSafilnoqvx]  [-F  pidfile]  [-G  gid]	[-M  core] [-N system]
	     [-P ppid] [-U uid]	[-c class] [-d	delim]	[-g  pgrp]  [-j	 jail]
	     [-s sid] [-t tty] [-u euid] pattern ...
       pkill   [-signal]   [-ILafilnovx]  [-F  pidfile]	 [-G  gid]  [-M	 core]
	     [-N system] [-P ppid] [-U uid] [-c	class]	[-g  pgrp]  [-j	 jail]
	     [-s sid] [-t tty] [-u euid] pattern ...

DESCRIPTION
       The  pgrep command searches the process table on	the running system and
       prints the process IDs of all processes that match the  criteria	 given
       on the command line.

       The  pkill command searches the process table on	the running system and
       signals all processes that match	the  criteria  given  on  the  command
       line.

       The following options are available:

       -F pidfile  Restrict  matches  to  a process whose PID is stored	in the
		   pidfile file.

       -G gid	   Restrict matches to processes with a	real group ID  in  the
		   comma-separated list	gid.

       -I	   Request  confirmation  before  attempting  to  signal  each
		   process.

       -L	   The pidfile file given for the -F  option  must  be	locked
		   with	the flock(2) syscall or	created	with pidfile(3).

       -M core	   Extract values associated with the name list	from the spec-
		   ified core instead of the currently running system.

       -N system   Extract  the	name list from the specified system instead of
		   the default,	which is  the  kernel  image  the  system  has
		   booted from.

       -P ppid	   Restrict  matches  to processes with	a parent process ID in
		   the comma-separated list ppid.

       -S	   Search also in system processes (kernel threads).

       -U uid	   Restrict matches to processes with a	real user  ID  in  the
		   comma-separated list	uid.

       -d delim	   Specify  a delimiter	to be printed between each process ID.
		   The default is a newline.  This option  can	only  be  used
		   with	the pgrep command.

       -a	   Include  process  ancestors in the match list.  By default,
		   the current pgrep or	pkill process and all of its ancestors
		   are excluded	(unless	-v is used).

       -c class	   Restrict matches to processes running with specified	 login
		   class class.

       -f	   Match against full argument lists.  The default is to match
		   against process names.

       -g pgrp	   Restrict  matches  to  processes with a process group ID in
		   the comma-separated list pgrp.  The value zero is taken  to
		   mean	 the  process  group  ID of the	running	pgrep or pkill
		   command.

       -i	   Ignore case distinctions in both the	process	table and  the
		   supplied pattern.

       -j jail	   Restrict  matches  to processes inside the specified	jails.
		   The argument	jail may be "any" to match  processes  in  any
		   jail,  "none"  to  match processes not in jail, or a	comma-
		   separated list of jail IDs or names.

       -l	   Long	output.	 For pgrep, print the process name in addition
		   to the process ID for each matching process.	  If  used  in
		   conjunction	with -f, print the process ID and the full ar-
		   gument list for each	matching process.  For pkill,  display
		   the kill command used for each process killed.

       -n	   Select  only	 the  newest  (most  recently  started)	of the
		   matching processes.

       -o	   Select only the oldest  (least  recently  started)  of  the
		   matching processes.

       -q	   For pgrep, Do not write anything to standard	output.

       -s sid	   Restrict  matches  to  processes  with  a session ID	in the
		   comma-separated list	sid.  The value	zero is	taken to  mean
		   the session ID of the running pgrep or pkill	command.

       -t tty	   Restrict matches to processes associated with a terminal in
		   the comma-separated list tty.  Terminal names may be	of the
		   form	 ttyxx	or the shortened form xx.  A single dash (`-')
		   matches processes not associated with a terminal.

       -u euid	   Restrict matches to processes with an effective user	ID  in
		   the comma-separated list euid.

       -v	   Reverse  the	 sense of the matching;	display	processes that
		   do not match	the given criteria.

       -x	   Require an exact match of the  process  name,  or  argument
		   list	 if  -f	 is  given.   The default is to	match any sub-
		   string.

       -signal	   A non-negative decimal number or symbolic signal name spec-
		   ifying the signal to	be sent	instead	of the	default	 TERM.
		   This	 option	is valid only when given as the	first argument
		   to pkill.

       If any pattern operands are specified, they are used as regular expres-
       sions to	match the command name or full argument	list of	each  process.
       If  the	-f  option  is not specified, then the pattern will attempt to
       match the command name.	However,  presently  FreeBSD  will  only  keep
       track  of the first 19 characters of the	command	name for each process.
       Attempts	to match any characters	after the first	19 of a	 command  name
       will quietly fail.

       Note  that  a running pgrep or pkill process will never consider	itself
       nor system processes (kernel threads) as	a potential match.

EXIT STATUS
       The pgrep and pkill utilities return one	of the following  values  upon
       exit:

       0       One or more processes were matched.

       1       No processes were matched.

       2       Invalid options were specified on the command line.

       3       An internal error occurred.

COMPATIBILITY
       Historically the	option "-j 0" means any	jail, although in other	utili-
       ties  such  as  ps(1)  jail ID 0	has the	opposite meaning, not in jail.
       Therefore "-j 0"	is deprecated, and its use is discouraged in favor  of
       "-j any".

SEE ALSO
       kill(1),	   killall(1),	 ps(1),	  flock(2),   kill(2),	 sigaction(2),
       pidfile(3), re_format(7)

HISTORY
       The pkill and pgrep utilities first appeared in NetBSD 1.6.   They  are
       modelled	 after utilities of the	same name that appeared	in Sun Solaris
       7.  They	made their first appearance in FreeBSD 5.3.

AUTHORS
       Andrew Doran <ad@NetBSD.org>

FreeBSD	12.0			 June 5, 2017			      PKILL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pkill&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help