引言
在实际操作中经常会关闭进程的情况,所以在此总结了关闭进程的方法及涉及到相关命令。
方法(kill)
如查找并关闭所有的java进程,命令
ps -ef|grep java|grep -v grep|awk '{print "kill -9 "$2}'|sh
命令详解:
1、命令** “ps”**
2、命令**“grep”**
3、命令**“awk”**
4、命令**“print”**
注意这里用到的是“print”而不是“printf”,这就要我们了解一下在linux系统里的"print"与“printf”的区别。
printf | |
---|---|
ksh的内置命令 | bash的内置命令 |
不能使用%s,%d,或是%c | 可以根据数据格式使用%s,%d,%c |
自动换行 | 没有自动换行,换行需要使用\n |
5、命令**“kill”** |
6、命令**“sh”**
- ps -ef|grep aaa|grep -v grep
这是大家很熟悉的命令,这里就不再多说,就是从当前系统运行的进程的进程名中包含aaa关键字的进程。
-
后面部分就是awk命令了,一般awk命令的格式为:awk ’ pattern {action} ’
print是打印,kill -9 是强制停止进程的命令, $2就是前面有ps -ef命令得出的结果的第二列上显示的内容。
下面举一个简单的例子:
#ps -ef|grep boco|grep -v grep
root 9884 9883 0 17:10:01 ? 0:00 sendmail -oem -oi -froot boco
root 9883 9880 0 17:10:01 ? 0:00 /usr/bin/mail boco
boco 11112 1 0 Dec 24 ? 0:00 ./boco_appmaster -d /home/boco/agent
boco 11126 11125 61 Dec 24 ? 52:59 ./boco_hostagent -i socket -l
boco 11125 11112 37 Dec 24 ? 43:25 ./boco_appmaster -d /home/boco/agent
boco 9811 11113 0 17:09:31 ? 0:00 sleep 60
boco 11113 1 0 Dec 24 ? 0:23 /bin/sh ./boco_monitor.sh
#ps -ef|grep boco|grep -v grep|awk ‘{print "kill -9 "$2}’
kill -9 9884
kill -9 9883
kill -9 11112
kill -9 11126
kill -9 11125
kill -9 9811
kill -9 11113
我们可以看出,ps -ef|grep boco|grep -v grep列出了当前主机中运行的进程中包含boco关键字的进程
而ps -ef|grep boco|grep -v grep|awk '{print "kill -9 "$2}'则列出了要kill掉这些进程的命令,并将之打印在了屏幕上
在ps -ef|grep boco|grep -v grep|awk '{print "kill -9 "$2}'后面加上|sh后,则执行这些命令,进而杀掉了这些进程。
示例:ps -aux|grep “service_2.php”|awk ‘{print "kill -9 "$2}’|sh