我有一個運行多個測試文件的GUI。 所有測試都是使用從線程運行的子進程逐個運行GUI的python文件。如何在隨時關閉子進程的同時殺死子進程
在GUI中,用戶有能力停止運行測試的機器。 我已經找到了如何爲此目的及其作品殺死一個子過程。 參見Killing sub process that run inside a thread
現在,我有另一個問題。 該測試打開了許多我必須按順序關閉的實例。 當我使用kill()方法,所有的實例都沒有關閉,我無法運行進一步的測試。 I.E我在用戶停下來之前在測試中使用的COM端口仍然被佔用,並阻止我運行任何更多的測試。
唯一的補救辦法是關閉GUI並重新開始。
總之,我需要一種方法來隨時殺死一個子進程,但仍然關閉所有的實例,如sys.exit()會做或關閉他的GUI有同樣的效果。 我嘗試使用等待(超時)但除非我錯誤地使用它,它並沒有辦法。
我可以在測試中使用某種中斷,在測試中會調用某些方法,它會按順序關閉它?