pgrep 和 pkill 使用小记

在停止指定进程时,经常使用如下命令:

kill `ps aux | grep -w program_name | grep -v grep | awk '{print $2}'` 
使用 pgrep 和 pkill 可以简单的实现;如下列举几个pgrep和pkill的例子:
pgrep -lf gs2 == ps aux | grep gs2
pgrep -f program_name 列出进程名为 program_name 的ID,f参数可以匹配command中的关键字;
pkill  -x program_name 结束掉 进程名为 program_name 的进程,x参数启用精确匹配;
pgrep -ln httpd 列出最新启动的apache进程ID,-l 参数用来显示进程名称;
pgrep -lo httpd 列出最早启动的apache进程ID;
ssh 10.10.10.10 "pgrep -f 'httpd' " > /dev/null  根据 $? 来判断是否有启动 apache 进程,然后进行下一步操作
-------------------------------------------------------------------------------------------------------
小结: 
grep使用 -w 参数拥有全文精确匹配功能;
pgrep和pkill的 -x 参数只能精确匹配进程名称,无法进行全文精确匹配,虽然可以使用 -f 参数来匹配command中的关键字,但是 -f 和 -x 同时使用却无法起到全文精确匹配的作用;

pidof 和 pgrep 有类似的功能,都可以列出进程的ID,只不过 pidof 要求精确输入进程名,一个字符都不能少,而 pgrep 则可以部分匹配进程名。

 

posted on 2015-11-20 11:59  zyz913614263  阅读(920)  评论(0编辑  收藏  举报

导航