Python-解決線程停止后,os.system還在運行的問題


最近遇到一個問題就是,os.system('xxxxxx')在python中顯示停止運行,但是實際還在執行的情況。

我的代碼:我開啟了2個線程,線程1::對APP進行測試;線程2::監控當前APP是不是所需APP,一旦跳出APP就結束運行。

期望現象:我將線程1設為了守護線程,那么理論上線程2結束之后,線程1也會一起結束。

實際情況:按照pycharm的顯示,程序已經停止了,但是手機端還在不停的操作,也就是線程1實際上並沒有終止。

分析:查找資料發現,我用的os.system來執行命令行語句,這樣確實不會隨着線程而結束

解決辦法:導入subprocess模塊,用 p = subprocess.Popen(‘xxxxx’)來代替os.system('xxxxxx'),用 p.kill() 來結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM