由于我的子系统经常自启动占用后台很大,任务管理器还无法直接关闭必须要用命令行,平常还好一到需要用到一些占用大的软件就非常卡,我想到了Python的os库可以去引用system函数来调用shell
import os
os.system('wsl --shutdown kali-linux')
但是这样太麻烦了,好像还不能完全解放劳动力,这样我还需要自己来看子系统是否自启动,此时我想到了psutil库,这个库可以检测进程,再加上无线循环
import os, psutil
while Ture:
for proc in psutil.process_iter():
if proc.name() == "vmmem":
os.system('wsl --shutdown kali-linux')
else:
continue
如此看来确实方便很多,但是作为一个懒人,每次我用完还要去找去运行,即便封装了也感觉还是很不方便,这个时候我想到了python的线程好像是可以实现暂停的,再加上GUI界面是不是就可以实现暂停和继续呢,这里我用tkinter库来实现GUI界面,我还加上了plyer库来显示提示信息
from tkinter import *
import psutil,os,threading
from plyer import notification
class kill_kali_linux(threading.Thread):
def __init__(self, *args, **kwargs):
super(kill_kali_linux, self).__init__(*args, **kwargs)
self.__flag = threading.Event()
self.__flag.set()
self.__running = threading.Event()
self.__running.set()
def run(self,):
while self.__running.is_set():
self.__flag.wait()
for proc in psutil.process_iter():
if proc.name() == "vmmem":
os.system('wsl --shutdown kali-linux')
notification.notify(title = "Python通知",message = "已检测到进程“vmmem”存在自动kill中",timeout = 3)
def pause(self)