我想写一些代码,可以根据进程名和拥有者来终止一个进程。在Windows XP上这很好用,但是当我在Windows 7上运行相同的代码时,尝试获取进程用户名时会出现访问被拒绝的错误。
有没有更简单的方法可以终止一个进程,并且适用于XP和Win7?
实际上需要检查进程是否由“SYSTEM”拥有,以便在用户进程结束后检查该进程,因为系统进程仍然存在,而我不关心这个进程。
PROCNAME = 'python.exe'
for proc in psutil.process_iter():
if proc.name == PROCNAME:
p = psutil.Process(proc.pid)
if not 'SYSTEM' in p.username:
proc.kill()