java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

Linux 下强行杀死一组进程脚本

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/


This entry was posted in Linux and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/linux-kill-proc/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply