【发布时间】:2012-08-16 14:23:01
【问题描述】:
我正在寻找编写一些代码来根据进程的名称和拥有者来终止进程。这在 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()
【问题讨论】:
-
在 XP 上杀死 SYSTEM 进程也会失败并显示拒绝访问。
-
你能从任务管理器中杀死SYSTEM进程吗?
-
是的,也来自 taskkill,但我需要能够扫描进程列表并找出该进程是 SYSTEM 进程还是 USER 进程,并且我还在检查 USER在我清理任何其他实例之前,进程已经完成。
标签: python windows-7 windows-xp