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