作者energyaxd (君)
看板Python
标题[问题] 同时监控subprocess的方法?
时间Fri Oct 30 13:57:36 2020
请教各位一下
我有一个主程序
开了很多个subprocess
我想要在子程序结束前同时监控他们的状况
可是用了readline如果没有东西
就会block住 一定要等到有读到东西
要怎麽解决这种问题
搞了好久还是找不到解决方法
还是我根本搞错方向了...
-----
Sent from JPTT on my iPhone
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.78.206 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1604037458.A.D75.html
1F:推 TuCH: 你要不要给个程式码 10/30 14:14
2F:推 lohas1019: 用try except 去处理试试看? 10/30 14:18
3F:推 legendmtg: 你要用readline读什麽? 10/30 14:27
5F:→ energyaxd: 如果子程序中先print(a)等五秒再print(b) 但主程序中都 10/30 14:42
6F:→ energyaxd: 是同时跳出 还有前一个subprocess还没回应前readline 10/30 14:42
7F:→ energyaxd: 会让其他程序在这边等他才看的到结果 10/30 14:42
8F:推 s0914714: 可以把readline的msg丢到Queue 然後去Queue里面取 10/30 20:08
9F:→ ToastBen: ...Genius 10/30 22:31
11F:→ energyaxd: 抱歉 手机PTT贴图比较方便... 10/30 23:31
12F:→ energyaxd: 更新一下..或许有人有类似问题,目前每个subprocess用 11/04 10:48
13F:→ energyaxd: 一个thread读取stdout,如果是执行python要注意启动参 11/04 10:48
14F:→ energyaxd: 数加-u,取消buffer,但太多线程比较吃资源好像不是最 11/04 10:48
15F:→ energyaxd: 佳解 11/04 10:48
16F:→ s860134: select, multiplexing 11/05 09:38