我正在Windows平台上工作。我一直在学习使用python启动外部进程的不同方法。使用我自己的示例,我可以:
os.system("C:\mainfolder\menu.exe C:\others\file1.inp C:\others\file2.inp")
或者
os.popen("C:\mainfolder\menu.exe C:\others\file1.inp C:\others\file2.inp")
或者
subprocess.call(["C:\mainfolder\menu.exe","C:\others\file1.inp" "C:\others\file2.inp"])
在哪里:
menu.exe:是我的外部程序。
file1和file2:是我的外部程序的输入文件。
上面的所有方法都可以很好地工作,但是我找不到终止进程的方法,包括在任何情况下的 Activity 窗口,而不必单击启动窗口右上方的关闭图标。
但是,如果我在命令提示符下键入taskkill/im menu.exe,则可以管理所需的内容。
有什么办法可以使用python获得相同的结果吗?只是寻找一些简单的东西,因为我对Python不太了解。
我尝试过:
os.system("taskkill /im menu.exe")
但是它不会关闭我的外部程序启动的窗口。
最佳答案
与其尝试使用subprocess.call()包装器,不如尝试从子过程模块实例化Popen
对象。它的工作方式与call()相同,但是您从OS中获得了一个包装低级进程处理程序的对象。这个包装器有一个叫做terminate
的方法,该方法应该可以完成您想要的操作。
关于python - 终止外部程序并使用python关闭其所有事件窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26789482/