当使用`ps`命令查询某个进程的`pid`信息时,往往需要结合`grep`命令对输出的结果进行过滤,单这样使用非常不方便,而`pgrep`命令则正是用来查询特定进程信息的专用工具。使用`pgrep`命令可以根据进程的名称,运行该进程的用户、进程所在的终端等多种属性查询特定进程的`pid`号。
通过`pgrep`命令,可以只指定进程的一部分名称进行查询,可以结合“`-l`”选项输出对应的进程名(否则只用`pid`号,不便于理解)。
[root@c7-42 ~]# pgrep mysqld
60072
60234
#结合“`-l`”选项输出对应的进程名
[root@c7-42 ~]# pgrep -l mysqld
60072 mysqld_safe
60234 mysqld
#结合“-U”选项查询特定用户的进程、“-t”选项查询在特定终端运行的进程。
[root@c7-42 ~]# pgrep -l -U root -t tty1
1706 bash
2600 bash