Python:使用Python从命令提示符处终止(终止)进程

时间:2013-07-30 19:55:35

标签: python user-interface abort kill-process taskkill

我对计算机软件术语不太熟悉(道歉)。

  • 我在Python中设计了一个GUI,假设在按下适当的按钮(在GUI上)时执行和/或终止脚本。
  • 当我在GUI上按下“开始”按钮(QPushButton)时,以下命令在命令提示符中执行脚本 filename.dut ,如下所示:
    subprocess.call('launcher.exe localhost filename.dut',shell = True)。

  • 我希望能够以类似的方式终止脚本,即按下GUI上的“停止”按钮,该按钮将在命令提示符下写入终止脚本的适当命令。 我想我可以在这个帖子中找到解决方案:Ending external programs with Python。建议的解决方案是:

    import subprocess        
    taskname = '...'        
    task = 'taskkill /im ' + taskname + ' /f'         
    subprocess.check_call(task, shell=True)
    
  • 我的问题是如何获取任务名称

非常感谢任何建议或替代解决方案。

1 个答案:

答案 0 :(得分:1)

如果您使用subprocess,则无需调用任何外部实用程序。 subprocess.Popen类提供了terminate方法。

要使用它,您需要将subprocess.call(...)替换为subprocess.Popen(...),后者会返回Popen个实例。例如,

task = subprocess.Popen('launcher.exe localhost filename.dut', shell=True)
# some time later
task.terminate()

请注意,与call不同,普通Popen不会等待进程完成。

有关详细信息,请参阅手册:http://docs.python.org/2/library/subprocess.html