我正在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/

10-09 06:42
查看更多