pgrep

是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行

语法

  pgrep [-flvx] [-d delimiter] [-n|-o] [-P ppid,...] [-g pgrp,...]
     [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...]
        [-t term,...] [pattern]

选项



   pattern
      用于匹配进程名称或命令行的扩展正则表达式

   -d delimiter
       设置用于在输出中分隔每个进程ID的字符串
       (默认为换行符)
   -f
       该模式通常仅与进程名称匹配。
       设置-f时,使用完整的命令行
   -g pgrp,...
       仅匹配列出的进程组ID中的进程
   -G gid,...
       仅匹配列出实际组ID的进程。
       可以使用数值或符号值。 
   -l
      列出进程名称以及进程ID。(仅限pgrep)
   -n
       仅选择最新(最近启动)的匹配流程
   -o
       仅选择最早(最近最少启动)的匹配流程
   -P ppid,...
       仅匹配列出其父进程ID的进程。
   -s sid,...
       仅匹配列出进程会话ID的进程。
   -t term,...
       仅匹配列出控制终端的进程。
   -u euid,...
       仅匹配列出有效用户ID的进程。
   -U uid,...
       仅匹配列出了真实用户ID的进程. 
   -v
      否定匹配。
   -x
       仅匹配其名称(或命令行,如果指定了-f)的进程
       完全匹配模式

pgrep搜索正在运行的系统上的进程表,并打印与命令行上给出的条件匹配的所有进程的进程ID。

实例

1: 查找named程序的进程ID

$ pgrep -u root named

使syslog重新读取其配置文件:

$ pkill -HUP syslogd

提供有关所有xterm进程的详细信息:

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

使所有netscape进程运行renice :

$ renice +4 ‘pgrep netscape’

常见的 Kill 信号

信号名称  信号值	   影响
SIGHUP	    1	   挂断
SIGINT	    2	   键盘中断
SIGQUIT     3	   放弃
SIGABRT	    6	   退出
SIGKILL	    9	   杀死信号
SIGTERM	    15	   终止信号 - 允许有序关机
SIGSTOP	   17,19,23	停止这个进程

退出状态

  1. 一个或多个进程符合标准
  2. 没有匹配的进程
  3. 命令行中的语法错误
  4. 致命错误:内存不足等

pgrep 命令实例:

linux命令:pgrep xterm xterm pgrep pgrep xtermrootopen.com
linux命令:pgrep xterm xterm pgrep pgrep xtermrootopen.com
2018-02-08 13:58:48

linux命令:pgrep command_name command_name pgrep pgrep command_namerootopen.com
linux命令:pgrep command_name command_name pgrep pgrep command_namerootopen.com
2018-05-21 01:49:48

linux命令:pgrep -u `id -u` firefox-bin || find ~/.mozilla/firefox -name '*.sqlite'|(while read -e f; do echo 'vacuum;'|sqlite3 "$f" ; done) done) ; "$f" 'vacuum;'|sqlite3 echo do f; -e read '*.sqlite'|(while -name ~/.mozilla/firefox find || firefox-bin -u` `id -u pgrep pgrep -u `id -u` firefox-bin || find ~/.mozilla/firefox -name '*.sqlite'|(while read -e f; do echo 'vacuum;'|sqlite3 "$f" ; done)rootopen.com
linux命令:pgrep -u `id -u` firefox-bin || find ~/.mozilla/firefox -name '*.sqlite'|(while read -e f; do echo 'vacuum;'|sqlite3 "$f" ; done) done) ; "$f" 'vacuum;'|sqlite3 echo do f; -e read '*.sqlite'|(while -name ~/.mozilla/firefox find || firefox-bin -u` `id -u pgrep pgrep -u `id -u` firefox-bin || find ~/.mozilla/firefox -name '*.sqlite'|(while read -e f; do echo 'vacuum;'|sqlite3 "$f" ; done)rootopen.com
2018-02-15 00:00:48

linux命令:pgrep <name> <name> pgrep pgrep <name>rootopen.com
linux命令:pgrep <name> <name> pgrep pgrep <name>rootopen.com
2018-01-06 21:06:48

linux命令:pgrep rouge-process | xargs sudo kill -9 -9 kill sudo xargs | rouge-process pgrep pgrep rouge-process | xargs sudo kill -9rootopen.com
linux命令:pgrep rouge-process | xargs sudo kill -9 -9 kill sudo xargs | rouge-process pgrep pgrep rouge-process | xargs sudo kill -9rootopen.com
2018-05-25 04:11:48

linux命令:pgrep -cu ioggstream ioggstream -cu pgrep pgrep -cu ioggstreamrootopen.com
linux命令:pgrep -cu ioggstream ioggstream -cu pgrep pgrep -cu ioggstreamrootopen.com
2018-02-07 07:25:48

linux命令:pgrep -c httpd httpd -c pgrep pgrep -c httpdrootopen.com
linux命令:pgrep -c httpd httpd -c pgrep pgrep -c httpdrootopen.com
2018-04-22 20:09:48

linux命令:pgrep -c cat cat -c pgrep pgrep -c catrootopen.com
linux命令:pgrep -c cat cat -c pgrep pgrep -c catrootopen.com
2017-12-28 07:11:48

linux命令:pgrep -c cat cat -c pgrep pgrep -c catrootopen.com
linux命令:pgrep -c cat cat -c pgrep pgrep -c catrootopen.com
2018-05-04 23:37:48

linux命令:pgrep -c 'httpd|apache2' 'httpd|apache2' -c pgrep pgrep -c 'httpd|apache2'rootopen.com
linux命令:pgrep -c 'httpd|apache2' 'httpd|apache2' -c pgrep pgrep -c 'httpd|apache2'rootopen.com
2018-05-07 19:48:48

linux命令:pgrep -fl [h]ttpd [h]ttpd -fl pgrep pgrep -fl [h]ttpdrootopen.com
linux命令:pgrep -fl [h]ttpd [h]ttpd -fl pgrep pgrep -fl [h]ttpdrootopen.com
2018-01-22 13:37:48

linux命令:pgrep -fl [h]ttpd [h]ttpd -fl pgrep pgrep -fl [h]ttpdrootopen.com
linux命令:pgrep -fl [h]ttpd [h]ttpd -fl pgrep pgrep -fl [h]ttpdrootopen.com
2018-03-17 13:21:48

linux命令:pgrep -fl -fl pgrep pgrep -flrootopen.com
linux命令:pgrep -fl -fl pgrep pgrep -flrootopen.com
2018-03-10 14:59:48

linux命令:pgrep -lf gnome-panel | awk '{if ($2=="gnome-panel") print $1}' | xargs kill -9 -9 kill xargs | $1}' print ($2=="gnome-panel") '{if awk | gnome-panel -lf pgrep pgrep -lf gnome-panel | awk '{if ($2=="gnome-panel") print $1}' | xargs kill -9rootopen.com
linux命令:pgrep -lf gnome-panel | awk '{if ($2=="gnome-panel") print $1}' | xargs kill -9 -9 kill xargs | $1}' print ($2=="gnome-panel") '{if awk | gnome-panel -lf pgrep pgrep -lf gnome-panel | awk '{if ($2=="gnome-panel") print $1}' | xargs kill -9rootopen.com
2018-03-10 04:45:48

linux命令:pgrep -u username php5-fcgi | xargs kill -9 -9 kill xargs | php5-fcgi username -u pgrep pgrep -u username php5-fcgi | xargs kill -9rootopen.com
linux命令:pgrep -u username php5-fcgi | xargs kill -9 -9 kill xargs | php5-fcgi username -u pgrep pgrep -u username php5-fcgi | xargs kill -9rootopen.com
2018-03-09 06:59:48

linux命令:pgrep -f 'process.*argument.*' 'process.*argument.*' -f pgrep pgrep -f 'process.*argument.*'rootopen.com
linux命令:pgrep -f 'process.*argument.*' 'process.*argument.*' -f pgrep pgrep -f 'process.*argument.*'rootopen.com
2018-05-30 15:20:48

linux命令:pgrep -fl myprog myprog -fl pgrep pgrep -fl myprogrootopen.com
linux命令:pgrep -fl myprog myprog -fl pgrep pgrep -fl myprogrootopen.com
2018-02-21 01:39:48

linux命令:pgrep -lf -lf pgrep pgrep -lfrootopen.com
linux命令:pgrep -lf -lf pgrep pgrep -lfrootopen.com
2018-01-01 02:51:48

linux命令:pgrep 'sleep' | while read pid; do pstree -sa -H$pid $pid ; done done ; $pid -H$pid -sa pstree do pid; read while | 'sleep' pgrep pgrep 'sleep' | while read pid; do pstree -sa -H$pid $pid ; donerootopen.com
linux命令:pgrep 'sleep' | while read pid; do pstree -sa -H$pid $pid ; done done ; $pid -H$pid -sa pstree do pid; read while | 'sleep' pgrep pgrep 'sleep' | while read pid; do pstree -sa -H$pid $pid ; donerootopen.com
2018-05-07 07:07:48

linux命令:pgrep -lf processname | cut -d' ' -f1 | awk '{print "cat /proc/" $1 "/net/sockstat | head -n1"}' | sh | cut -d' ' -f3 | paste -sd+ | bc bc | -sd+ paste | -f3 ' -d' cut | sh | -n1"}' head | "/net/sockstat $1 /proc/" "cat '{print awk | -f1 ' -d' cut | processname -lf pgrep pgrep -lf processname | cut -d' ' -f1 | awk '{print "cat /proc/" $1 "/net/sockstat | head -n1"}' | sh | cut -d' ' -f3 | paste -sd+ | bcrootopen.com
linux命令:pgrep -lf processname | cut -d' ' -f1 | awk '{print "cat /proc/" $1 "/net/sockstat | head -n1"}' | sh | cut -d' ' -f3 | paste -sd+ | bc bc | -sd+ paste | -f3 ' -d' cut | sh | -n1"}' head | "/net/sockstat $1 /proc/" "cat '{print awk | -f1 ' -d' cut | processname -lf pgrep pgrep -lf processname | cut -d' ' -f1 | awk '{print "cat /proc/" $1 "/net/sockstat | head -n1"}' | sh | cut -d' ' -f3 | paste -sd+ | bcrootopen.com
2018-05-21 06:35:48

Linux的Bash命令行(A-Z排序)