【发布时间】:2017-06-22 14:43:21
【问题描述】:
我正在为python开发一个ADB客户端,我打算用子进程调用adb二进制来获取信息。
这是我尝试调用它以启动 adb 服务器的方式。
check_output([ 'adb.exe','start-server'],stderr=STDOUT)
我确实看到 adb 正在运行,但之后程序就卡住了。
我试过shell=True,但这并不影响它。
当我从任务管理器中杀死 adb 时,程序会退出,并打印正确的输出。
我该如何解决这个问题,我假设由于守护程序正在运行,该命令不会退出?
我能够通过在单独的线程中启动命令来克服这个问题,并将当前线程与其他 adb 命令一起使用,因为它们会立即返回。 有没有更优雅的解决方案?
【问题讨论】:
标签: python multithreading subprocess adb