我收到了一個關於調用進程的問題,並等待此程序關閉。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