我收到了一个关于调用进程的问题,并等待此程序关闭。Python - 进程调用和等待
它应该这样工作:
主程序和辅助程序。
主程序应该通过点击QPushButton来打开辅助程序。
然后出现辅助程序,您可以正常使用它。
在你关闭它的时候(因此通过退出窗口来终止进程)主程序也应该被终止。
我知道有模块“subprocess”,但我不明白如何使用它。这个文档有点啰嗦。
Thx for help :)
我收到了一个关于调用进程的问题,并等待此程序关闭。Python - 进程调用和等待
它应该这样工作:
主程序和辅助程序。
主程序应该通过点击QPushButton来打开辅助程序。
然后出现辅助程序,您可以正常使用它。
在你关闭它的时候(因此通过退出窗口来终止进程)主程序也应该被终止。
我知道有模块“subprocess”,但我不明白如何使用它。这个文档有点啰嗦。
Thx for help :)
你可以试试这个。
import subprocess
subprocess.call('ping 192.168.132.133')
在Python 3.X中,您可以使用首选的subprocess.run()。 如果您想要运行更高级的案例()无法工作,您可以直接使用popen()。
如果您不需要保持第一程序的运行,也可以直接关闭它打开第二个程序后,立即:
if QtCore.QProcess.startDetached('prog2', ['arg1', 'arg2']):
QtWidgets.qApp.quit()
else:
print('ERROR: could not start prog2')
为什么不干脆立即关闭第一程序中打开第二个之后?你真的需要在第二个程序运行时与第一个程序进行交互吗?如果是这样,这会使事情变得复杂,因为最简单的解决方案将阻止第一个进程,同时等待第二个进程完成。 – ekhumoro
@ekhumoro嗯,这也可以。第一个程序就是执行者。第一个程序开始第二个程序后,第一个程序可以关闭。如果它打开或关闭,它不起任何作用。你会如何做到这一点? – freedome97