看板 Python 關於我們 聯絡資訊
請教各位一下 我有一個主程序 開了很多個subprocess 我想要在子程序結束前同時監控他們的狀況 可是用了readline如果沒有東西 就會block住 一定要等到有讀到東西 要怎麼解決這種問題 搞了好久還是找不到解決方法 還是我根本搞錯方向了... ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.78.206 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1604037458.A.D75.html
TuCH: 你要不要給個程式碼 10/30 14:14
lohas1019: 用try except 去處理試試看? 10/30 14:18
legendmtg: 你要用readline讀什麼? 10/30 14:27
energyaxd: https://i.imgur.com/PyYTtcV.jpg 10/30 14:36
energyaxd: 如果子程序中先print(a)等五秒再print(b) 但主程序中都 10/30 14:42
energyaxd: 是同時跳出 還有前一個subprocess還沒回應前readline 10/30 14:42
energyaxd: 會讓其他程序在這邊等他才看的到結果 10/30 14:42
s0914714: 可以把readline的msg丟到Queue 然後去Queue裡面取 10/30 20:08
ToastBen: ...Genius 10/30 22:31
ToastBen: https://pastebin.com/ 10/30 22:31
energyaxd: 抱歉 手機PTT貼圖比較方便... 10/30 23:31
energyaxd: 更新一下..或許有人有類似問題,目前每個subprocess用 11/04 10:48
energyaxd: 一個thread讀取stdout,如果是執行python要注意啟動參 11/04 10:48
energyaxd: 數加-u,取消buffer,但太多線程比較吃資源好像不是最 11/04 10:48
energyaxd: 佳解 11/04 10:48
s860134: select, multiplexing 11/05 09:38