Linux pgrep检索当前正在运行的进程

pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。
pgrep命令相当于如下的命令,且一般配合着pkill操作使用!

ps -eo pid,cmd | awk '{print $1,$2}' | grep 

格式:

pgrep (选项) (参数)

常用命令选项

 -d, --delimiter <string>  指定输出分隔符
 -l, --list-name           列出PID和进程名
 -a, --list-full           列出PID和完整的命令行
 -v, --inverse             否定匹配
 -w, --lightweight         列出所有TID
 -c, --count               匹配过程计数
 -f, --full                用完整进程名进行匹配
 -g, --pgroup <PGID,...>   使用完整进程名进行匹配
 -G, --group <GID,...>     匹配真实的组id
 -n, --newest              仅显示找到的最大(结束)进程号
 -o, --oldest              仅显示找到的最小(起始)进程号
 -P, --parent <PPID,...>   只匹配给定父进程的子进程(指定父进程)
 -s, --session <SID,...>   匹配会话ID
 -t, --terminal <tty,...>  控制终端匹配
 -u, --euid <ID,...>       有效id匹配(选择进程拥有者时,默认匹配规则是逻辑与的关系)
 -U, --uid <ID,...>        真实id匹配
 -x, --exact               与命令名完全匹配
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          从文件读取pid
 --ns <PID>                匹配与<pid>属于同一命名空间的进程
 --nslist <ns,...>         列出--ns选项将考虑哪些名称空间。可用的命名空间:ipc、mnt、net、pid、user、uts
 -h, --help    			   显示此帮助并退出
 -V, --version  		   输出版本信息并退出
 --signal signal		   定义发送给每个匹配进程的信号。 数字或符号信号名称都可以使用(仅限pkill)

参数
进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。

参考实例:

[root@master ~]# pgrep docker
18215
[root@master ~]# ps -ef | grep docker
root      18215      1  7 16:13 ?        00:00:10 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

# pgrep, pkill, pidwait - 根据名称和其他属性查找、发送信号或等待进程
Example 1: 查找命名守护进程的进程ID:	$ pgrep -u root named
Example 2: 让系统日志重新读取其配置文件:	$ pkill -HUP syslogd
Example 3: 提供所有xterm流程的详细信息:	$ ps -fp $(pgrep -d, -x xterm)
Example 4: 让所有chrome进程运行得更好:	$ renice +4 $(pgrep chrome)
Example 5: 将只列出root用户拥有的名为sshd的进程: $ pgrep -u root sshd
Example 6: 将列出root或守护进程所拥有的进程: $ pgrep -u root,daemon
pkill将向每个进程发送指定的信号(默认情况下是SIGTERM),而不是在stdout上列出它们。
pidwait将等待每个进程,而不是列出它们 stdout。

If you have a dream, you must be brave for him.

猜你喜欢

转载自blog.csdn.net/qq_50573146/article/details/126215986