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() 来结束。

 

posted @ 2020-07-10 15:28  wind1004  阅读(3451)  评论(0编辑  收藏  举报