pgrep,  pkill  -  look  up  or signal processes based on name and other


   pgrep [options] pattern
   pkill [options] pattern


   pgrep looks through the  currently  running  processes  and  lists  the
   process  IDs  which  match  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.


   --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.

   -d, --delimiter delimiter
          Sets  the  string  used to delimit each process ID in the output
          (by default a newline).  (pgrep 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 or pkill'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

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

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

   -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 or pkill's own session

   -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
          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 context.  In
          pkill's context this option is disabled.

   -x, --exact
          Only match processes whose names  (or  command  line  if  -f  is
          specified) exactly match the pattern.

   -F, --pidfile file
          Read  PID's  from  file.  This option is perhaps more useful for
          pkill than pgrep.

   -L, --logpidfile
          Fail if pidfile (see -F) not locked.

   --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.

   -V, --version
          Display version information and exit.

   -h, --help
          Display help and exit.


          Specifies  an  Extended  Regular Expression for matching against
          the process names or command lines.


   Example 1: Find the process ID of the named daemon:

          $ pgrep -u root named

   Example 2: Make syslog reread its configuration file:

          $ pkill -HUP syslogd

   Example 3: Give detailed information on all xterm processes:

          $ ps -fp $(pgrep -d, -x xterm)

   Example 4: Make all netscape processes run nicer:

          $ 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)


   Kjetil Torgrim Homme


   Please send bug reports to


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.