import os
from subprocess import Popen,PIPE,STDOUT
os.system("adb kill-server")
p = Popen("adb devices", stdout=PIPE, stderr=PIPE, stdin=PIPE)
for str in p.communicate()[0].split("\r\n"):
print str
p.wait()
p.terminate()
执行独立操作时,此脚本可以正常退出。
import os
from subprocess import Popen,PIPE
p = Popen("python test.py", stdout=PIPE, stderr=PIPE, stdin=PIPE)
for str in p.communicate()[0].split("\r\n"):
print str
p.wait()
p.terminate()
此脚本调用“test.py”,并将挂起“p.communicate()”。 这是怎么发生的?
答案 0 :(得分:0)
在shell=True
中添加test.py
,如下所示,然后执行test2.py
。
import os
from subprocess import Popen,PIPE,STDOUT
os.system("adb kill-server")
p = Popen("adb devices", stdout=PIPE, stderr=PIPE, stdin=PIPE, shell=True)
for str in p.communicate()[0].split("\r\n"):
print str
p.wait()
p.terminate()