我正在寻找一些代码,这些代码将根据进程的名称和拥有者来终止进程。这在 Windows XP 上运行良好,但是当我在 Windows 7 上运行相同的代码时,在尝试获取进程的用户名时出现访问被拒绝错误。
有没有更简单的方法来杀死一个可以在 XP 和 Win7 上运行的进程?
实际上需要检查该进程是否由“SYSTEM”拥有,因此我可以检查该进程何时完成用户进程,因为 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()