Linux中利用简单脚本杀死不被保护的进程

时间:2022-08-28 21:53:16

结合了python中可以调用shell命令的特性的小练手

新手上路请多指教。

目前存在问题:

1.会出现两个并不存在的pid

2.获得名单中存在PID这个元素无法剔除

3.白名单需要手动设置,限制较大

4.欢迎提出

import os


os.system("ps aux >2.txt")
os.system("awk '{print $2}' 2.txt >3.txt")                              #调用系统命令获取当前pid并输出为文档


a =['2457','2621','2622','2623','2624','2625','2626','3169',]     #设置白名单(每次启动后都不相同,需要查看后手动编辑)
b =[]


d = open('3.txt','r')                                                   #读取输出的TXT文档
e = d.readlines()
d.close()
for line in e:                                                               #将其中内容添加到列表b中
        temp = line.strip('\n')
        b.append(temp)


c = list(set(b).difference(set(a)))                                     #与白名单比较列出不同项
print("kill list:")
print(c)


for i in c:                                                             #遍历列表杀死不被保护的进程
        if type(i) =='list':
          for y in i:
             print(y)
        else:
           print("will kill %s"%(i))
           os.system("kill -9 %s"%(i))