我正在使用Subprocess编写一个简单的python脚本,以便将iDevices列表附加到我的mac上。我使用的命令是“instruments -s devices”。当我运行命令行时,此命令正常工作但我在使用子进程使用相同命令时遇到问题。
下面是我的简单python脚本
import subprocess
cmd = ['instruments', '-s', 'devices']
response = subprocess.Popen(cmd,stdout=subprocess.PIPE)
print response.communicate()
当我运行上面的python命令时,我的终端屏幕如下所示
MacBook-Pro-9:lib darren$ python iOSRemoteLib.py
2016-09-05 14:30:38.648 instruments[21276:1052546] WebKit Threading Violation - initial use of WebKit from a secondary thread.
python进程挂起并且没有返回任何响应。看起来像一些线程问题,我无法弄清楚是什么。
谢谢
答案 0 :(得分:0)
你有两个版本的Xcode吗? 我遇到了与子进程(仪器设备)挂起的完全相同的问题。我有XCode 8.0和7.3.1。只有在切换到7.3.1后才会出现此问题。结果是subprocess.Popen(' sudo instruments -s devices',stdout = subprocess.PIPE)工作正常。所以可能是一个许可问题。