看板 Programming 關於我們 聯絡資訊
這個問題困擾我蠻多天的 目前是用QT在windows下 使用QProcess執行外部程式 然後用readall得到執行結果 例如像是ping之類的都沒問題 現在遇到一個問題是 我想執行一個測試吞吐量的程式叫iperf 在server mode下(指令:iperf -s)會一直處於監聽狀態 不會結束 有封包進來會吐出數據 但用QProcess不管等多久readall都是空的data 並沒有任何回傳值 感覺上像是如果cmd被執行程式佔住就要不回來output 之前用BCB的createProcess也是類似的情況 但google很久一直找不出解法 我目前是用iperf3的版本https://iperf.fr/iperf-download.php iperf2.05也是一樣的結果 但如果一樣的code我把iperf換成ping 我可以一直接收到訊息 想請問這是跟執行檔本身有關嗎? 從windows開一個cmd window去執行iperf卻不會有沒訊息的問題 不曉得這之間差在哪裡? 有這方面經驗的高手可以指導一下方向嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.110.59 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1441202653.A.C24.html
p2k: 看起來iperf是ouput到stderr 121.254.120.1 09/03 18:49
p2k: 你在呼叫 iperf 那後最後加 2>&1 試試 121.254.120.1 09/03 18:50