如何使用python 2.7关闭cmd窗口
问题内容:
标题几乎说明了这一点,尽管它不必特定于cmd,而只是通常关闭一个应用程序即可。我见过
os.system(taskkill blah blah)
这实际上并没有关闭窗口,而只是结束了窗口内部的cmd,我想实际关闭窗口本身。
编辑:有人可以给我特定的代码行来关闭cmd窗口。鼠标悬停在cmd窗口的名称是
C:\Windows\system32\cmd.exe
问题答案:
这是一种使用Python for
Windows扩展(pywin32)的方法
来查找PID和taskill以结束该过程(基于此示例)。我这样做是为了让您访问一些额外的运行信息,以防万一您不想滥杀任何cmd.exe:
import os
from win32com.client import GetObject
WMI = GetObject('winmgmts:')
processes = WMI.InstancesOf('Win32_Process')
for p in WMI.ExecQuery('select * from Win32_Process where Name="cmd.exe"'):
print "Killing PID:", p.Properties_('ProcessId').Value
os.system("taskkill /pid "+str(p.Properties_('ProcessId').Value))
现在在for循环中,您可以查看有关每个正在运行的进程的其他信息(甚至查找依赖于此进程的子进程(例如在每个cmd.exe中运行的程序)。如何读取每个进程属性的示例可能看起来像这个:
from win32com.client import GetObject
WMI = GetObject('winmgmts:')
processes = WMI.InstancesOf('Win32_Process')
for p in WMI.ExecQuery('select * from Win32_Process where Name="cmd.exe"'):
print "--running cmd.exe---"
for prop in [prop.Name for prop in p.Properties_]:
print prop,"=",p.Properties_(prop).Value