作者DIE755127 ()
看板Programming
标题[问题] 控制cmd执行外部程式回传output
时间Wed Sep 2 22:04:08 2015
这个问题困扰我蛮多天的
目前是用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://webptt.com/cn.aspx?n=bbs/Programming/M.1441202653.A.C24.html
1F:→ p2k: 看起来iperf是ouput到stderr 121.254.120.1 09/03 18:49
2F:→ p2k: 你在呼叫 iperf 那後最後加 2>&1 试试 121.254.120.1 09/03 18:50