最近遇到一個問題就是,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() 來結束。