2014-06-25 93 views
0
结束任务

我知道,在CMD窗口,我可以键入以下文本结束进程:麻烦在使用Python

taskkill/im chrome.exe /f 

但我怎么能使用Python呢?

我已经试过这样:

from subprocess import * 
call("taskkill/im chrome.exe /f", shell=True) 

但它表明这一点:

'taskkill' is not recognized as an internal or external command, operable program or batch file. 

那么,什么是错我的代码?我怎样才能使它工作?

+0

可能重复的[是否有可能从Python内部杀死Windows上的进程?](http://stackoverflow.com/questions/6278847/is-it-possible-to-kill-a-process-on- windows-from-within-python) – RvdK

回答

0

试试这个:

import os 

os.system("taskkill/im chrome.exe /f") 

我没有与Windows中访问一台机器在这里,但它应该工作。

编辑:

尝试也:

1-命令需要TASKKILL和/ IM之间的空白空间,因此:

os.system("taskkill /im chrome.exe /f") 

2- Taskkill is not in Windows XP, there ais a less powerfull tool called tskill这样:

os.system("tskill chrome") 
+0

感谢您的帮助,但同样的问题又一次发生了。 :( –

+0

噢,我不知道为什么,但这两种方法都不起作用,他们只是显示'taskkill'(或tskill)不被识别为... –

0

正如RvdK中提到的问题所述,您需要一个完全合格的pat h至taskkill.exe,但没有提到的是,你需要记住逃脱反斜线的事实,所以

call("c:\\windows\\system32\\taskkill.exe /im chrome.exe /f", shell=True)

应工作(它我Win7的机器上)。

注意,你实际上并不需要shell=True,作为subprocess文档中提到:

在Windows与壳牌= TRUE,则COMSPEC环境变量指定 默认的shell。您需要在 上指定shell = True的唯一时间是当您要执行的命令内置于 shell(例如dir或copy)时。您不需要shell = True即可运行批处理文件或基于控制台的可执行文件 。

所以call("c:\\windows\\system32\\taskkill.exe /im chrome.exe /f")更好。