Linux? 下强行杀死一组进程
grep到一组进程,如何写一个脚本全部杀死
root@mc2:~# ps aux|grep pnscan root????? 7498? 0.0? 0.0?? 1872?? 504 ???????? S??? Jan19?? 0:00 sh -c ./pnscan -r JBoss -w "HEAD / HTTP/1.0\r\n\r\n" -t 6650 55.210.0.0/16 80 > /tmp/sess_0088025413980486928597bff root????? 7499? 0.0? 0.0?? 1872?? 284 ???????? S??? Jan19?? 0:00 sh -c ./pnscan -r JBoss -w "HEAD / HTTP/1.0\r\n\r\n" -t 6650 55.210.0.0/16 80 > /tmp/sess_0088025413980486928597bff root???? 13197? 0.0? 0.0?? 1872?? 508 ???????? S??? Jan29?? 0:00 sh -c ./pnscan -r JBoss -w "HEAD / HTTP/1.0\r\n\r\n" -t 6650 147.70.0.0/16 80 > /tmp/sess_0088025413980486928597bff root???? 13198? 0.0? 0.0?? 1872?? 288 ???????? S??? Jan29?? 0:00 sh -c ./pnscan -r JBoss -w "HEAD / HTTP/1.0\r\n\r\n" -t 6650 147.70.0.0/16 80 > /tmp/sess_0088025413980486928597bff root???? 28472? 0.0? 0.0?? 3564?? 828 pts/1??? S+?? 14:31?? 0:00 grep pnscan
拿到这样一个列表,我想写个脚本,定期来执行,以对抗病毒程序的执行
如果一个个手工kill
那么可以
kill -9 7498
kill -9 7499
….
或者kill -9 7498 7499 …
网上到处查询资料,发现正则提取的时候无法使用(?:) 每次用了就不管用了。一会提到。
ps aux|grep pnscan > 1.txt
查找到病毒进程输出到1.txt
内容就是开头那一段
截取第一段
cat 1.txt? | grep -o "root\s*[0-9]*" > 2.txt
root root????? 7498 root????? 7499 root???? 13197 root???? 13198 root???? 28472
这里采用
cat 1.txt? | grep -o "(?:root\s*)[0-9]*" > 2.txt
无法得到了。查了半天不知道为何正则提取,(?:) 匹配但是不采用这个办法不好用
截取进程ID号码
cat 2.txt | grep -o "[0-9]*" > 3.txt
7498 7499 13197 13198 28472
生成脚本文件
awk '{print R,"kill -9 "$0}' 3.txt > 4.sh
kill -9 7498 kill -9 7499 kill -9 13197 kill -9 13198 kill -9 28472
修改权限 chmod 755 4.sh
执行./4.sh
#清楚缓存文件
rm -fr 1.txt
rm -fr 2.txt
rm -fr 3.txt
rm -fr 4.sh
建立一个文件clearVirus.sh
ps aux|grep pnscan > 1.txt cat 1.txt? | grep -o "root\s*[0-9]*" > 2.txt cat 2.txt | grep -o "[0-9]*" > 3.txt awk '{print R,"kill -9 "$0}' 3.txt > 4.sh chmod 755 4.sh ./4.sh rm -fr 1.txt rm -fr 2.txt rm -fr 3.txt rm -fr 4.sh
大功告成
这个脚本可以放到定时器里,定时执行了。
此版本应该可以改进,一切都可以在变量中进行,暂时学了半天,没学会如何搞变量。等学会了再来改进,先在此记录。
百度文库一个清楚超时进程 http://wenku.baidu.com/view/740bd9482e3f5727a5e96247.html
类似这个功能,但是看不太懂。采用变量。先放着有空研究下
有知道的朋友,还望留言。我学习一下
参考资料
grep正则
http://blog.csdn.net/cnseiya/article/details/1872851
linux 文本搜索
http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-103-7/