Python中关闭adb命令
Python获取Android应用日志的时候,通过采用adb的方式,但是常规在cmd里面执行的命令,运行完就结束了,但是假如获取日志这种,是一直在后台运行的这种命令,这种假如通过如下运行方式,
os.popen("adb --version")
即使关闭程序,adb也是一直在后台进行获取
因为Python获取应用日志的时候, adb 开启的是后台进程, 所以不能被 terminate 或者 kill 掉 ,故采用如下方法开启adb即可
handle = subprocess.Popen("adb -d logcat log.txt", shell=True)
time.sleep(10)
subprocess.Popen("taskkill /F /T /PID " + str(handle.pid) , shell=True)
Python运行cmd命令主要有两种方式:
Python OS模块
OS模块调用CMD命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用。
- os.system是无法获取返回值的,当运行结束后接着往下面执行程序用法如:
os.system("ipconfig")
- os.popen带返回值的,如何获取返回值 如 :
device = os.popen("adb --version")
print(device.read())
得到的是个字符串,这两个都是用当前进程来调用,也就是说它们都是阻塞式的。
Python 管道subprocess模块。
运行原理会在当前进程下面产生子进程。
sub=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
sub.wait()
print sub.read()