Appium python mac 上 subprocess 启动 appium-server 时,server 出现异常时,server 自动退出运行了。

匿名 · 2017年07月13日 · 1047 次阅读

但是如果直接命令行中启动 appium,server 出现一些异常时,server 是不会退出的。不解~会继续运行,
经自己排查:


估计应该跟启动后,出现异常时,subprocess 的管道流有问题。不知道如何解决,请指教~

共收到 3 条回复 时间 点赞
匿名 #1 · 2017年07月13日

我弄清楚了,如果别人看到了的话,一定用这种方法,不要用 subprocess 默认提供的的 stderr=PIPE。这个方法是用管道,当管道缓冲大小大于 65535 就会出问题。所以用文件。就没有这个限制了。
fdout = open(len(procs)+".out", 'w')
fderr = open(len(procs)+".err", 'w')
p = Popen(cmd,stdout=fdout,stderr=fderr, shell=True)

因为只存不消耗,当然会爆掉
如果你不要 log,可以索性 stderr=None

匿名 #3 · 2017年07月13日

对,不要的话,stderr=None 就可以了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册