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