在查看jenkins的资料时,读到了一段脚本,其中涉及到了pgrep命令。

初见这个命令,让我想到了grep,那么它和grep有什么渊源么?


  • pgrep

命令用于通过程序名来查找进程。

选项说明:

-l:同时显示进程名称和PID;

-o:当匹配多个进程时,显示进程号最小的那个;

-n:当匹配多个进程时,显示进程号最小的那个;


示例

pgrep -lo ssh

  

  • grep

命令更多的应用在文本搜索方面。

主要选项:

-c:返回匹配的行数;

-n:返回匹配行及行号;

-i:忽略关键字的大小写;

-v:显示不包含匹配文本的所有行


示例

grep -v grep


    通过在sever上验证,可以理解为,在查询进程方面,pgrep命令为ps、grep、awk命令的合集版,具体表现在:

ps -ef|grep -v grep|grep ssh|awk {'print $2,$8'}


pgrep -l ssh


ps -e o pid,cmd|awk {'print $1,$2'}|grep ssh


实验结果如附件记录:

wKioL1nN4BSTdHq4AADEtKFsNcU564.jpg