Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1727016
  • 博文数量: 358
  • 博客积分: 2180
  • 博客等级: 大尉
  • 技术积分: 1810
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 13:47
文章分类

全部博文(358)

文章存档

2016年(17)

2015年(55)

2014年(9)

2013年(67)

2012年(181)

2011年(29)

分类: 系统运维

2013-04-10 19:36:24

使用ps命令查询进程,常常我们不想打印出"ps | grep app"这个当前进程,比如如下:

Java代码  收藏代码
  1. [root@localhost root]# ps -ef | grep java  
  2. root     20070 20049  0 Nov19 ?        00:24:33 /usr/java/jdk1.6.0_07/bin/java   
  3. -Dprogram.name=run.sh -server -Xms512m -Xmx1024m -Xss128k -XX:+UseParallelGC   
  4. -XX:+UseParallelOldGC -XX:PermSize=256m -XX:MaxPermSize=512m   
  5. -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000   
  6. -Djava.net.preferIPv4St  
  7. root      5523  5203  0 10:49 pts/0    00:00:00 grep java  

 显示java进程的同时还会把“grep java”这个进程打印出来“root 5523 5203 0 10:49 pts/0 00:00:00 grep java”,为了不打印此行,有以下几种方式,大家看着哪个好使吧:

1.ps aux | grep java | grep -v "grep"

2.ps aux|grep \[j]ava 或ps aux|grep [j]ava

 

如果需要打印出进程号,可以在后面再用awk打印,如下:

ps aux|grep [j]ava | awk '{print $2}'

ps -ef|grep java|awk '{if($0~/run.sh/) print $2}'

ps aux|grep [j]ava | awk '{if($0~/run.sh/) print $2}'

ps aux | grep java | grep -v "grep" | awk '{print $2}'

等等写法

 

如果要kill当前的进程,可以写成,如下杀掉java进程:

ps aux|grep [j]ava | awk '{print $2}' | xargs kill -9

阅读(1060) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~