Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3125083
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: LINUX

2014-12-19 16:10:38

原文地址:http://wind6266.blog.163.com/blog/static/671090720104182011624/
http://blog.csdn.net/zhaoyue007101/article/details/7699259

经常需要Kill多个进程,这些进程包含共同的关键字,可以用一条命令Kill掉它们。

ps aux | grep "common" | cut -c 9-15 | xargs kill -9

管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:

"ps aux" 查看所有进程的命令。这时检索出的进程将作为下一条命令grep "common"的输入。

"grep "common" 选出所有含有关键字"common"的进程。

"cut -c 9-15" 截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

"xargs kill –9" 中的xargs命令是用来把前面命令的输出结果(PID)作为"kill –9"命令的参数,并执行该命令。"kill –9" 会强行杀掉指定进程。



前两天一个老师给我出了一个linux操作上的问题,现在知道进程名怎样杀死这个进程。或许很多人都会和我一样说用
#pkill 进程名 
或是
#killall 进程名
的确这个两个命令都能做到这些,而且我们平时一般知道进程名需要杀死进程的时候也都是用的这两个命令。可是他叫我用kill 命令来完成这个一操作。我们知道kill 要杀死进程是需要知道进程的id的即进程号,其实这个思路就是需要通过其他命令获取相应进程的进程号,然后用kill 杀掉。
这里提供两个方法:
1、#kill -9 $(ps -ef|grep 进程名关键字|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')这个是利用管道和替换将 进程名对应的进程号提出来作为kill的参数。
很显然上面的方法能完成但是过于复杂,下面这种就显得简单的多了
2、#kill -9 $(pidof 进程名关键字)

总结:linux 操作无极限





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