结合了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))