如何使用python 2.7关闭cmd窗口

时间:2013-05-17 00:36:41

标签: python python-2.7

标题几乎已经说明了,虽然它不需要特定于cmd,只需关闭一个应用程序。我见过

os.system(taskkill blah blah)

这实际上并没有关闭窗口,而只是结束窗口内的cmd,我想实际关闭窗口本身。

编辑:有人可以给我一个特定的代码行来关闭一个cmd窗口。鼠标悬停时cmd窗口的名称是

C:\Windows\system32\cmd.exe

5 个答案:

答案 0 :(得分:4)

这样的事情?

import sys
sys.exit()

或更容易......

raise SystemExit

如果那不是你要找的那个告诉我

您也可以使用.pyw保存文件,但不会打开cmd

答案 1 :(得分:3)

对于那些因使用Python 2.7而无法下载pywin32的人,感谢组织中的繁文缛节。如果您使用的是Windows XP及更高版本,则可以使用taskkill按照下面的窗口标题名称终止进程,以获取在标题为 MyTitle 的高架模式下启动的dos命令提示符

os.system('taskkill /fi "WindowTitle eq Administrator: MyTitle"')

答案 2 :(得分:3)

我用它来终止并关闭cmd窗口,希望对您有所帮助 os.system(“ taskkill / f / im cmd.exe”)

答案 3 :(得分:2)

以下是一种方法,使用Python for Windows extensions (pywin32)查找PID,taskill结束流程(基于此example)。我这样做是为了让你能够访问一些额外的运行信息,万一你不想不加选择地杀死任何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

答案 4 :(得分:-1)

exit()命令可以在2.7中运行,但它仍然会询问您是否确定要退出。它声明该程序仍在运行。 ETC