在日常工作中我们可能经常需要过滤出进程pid来操作(如杀死),我们经常方式是grep过滤出进程pid
ps -ef |grep nginx|grep -v grep|awk '{print $2}'
其实在Linux中提供了一个更简单命令过滤,就是pgrep,下面简单介绍使用
有没有感觉一样,对,就是这么强大,更好用的功能如下
场景:我们系统中部署了多个jar包,但是我只想找到其中一个jar包的名字,这里我们直接pgrep是无法过滤的,如下
可以看到,我们有启动,但是过滤不出来,所以我们要使用参数-f
可以看到,pid出来了。
其他更多的参数如下:
pgrep:
-o:仅显示找到的最小(起始)进程号;
-n:仅显示找到的最大(结束)进程号;
-l:显示进程名称;
-P:指定父进程ppid;
-g:指定进程组;
-t:指定开启进程的终端;
-u:指定进程的有效用户ID。
-f:进行正则匹配ps -ef里面command类容
pidof nginx