1 man popen 可以看到 The return value from popen() is a normal standard I/O stream in all respects save that it must be closed with pclose() rather than fclose(3). Writing to
such a stream writes to the standard input of the command; the command's standard output is the same as that of the process that called popen(), unless this is altered by the command itself. Conversely, reading from a "popened" stream reads the command's standard output, and the command's standard input is the same as that of the process that called popen().
1 man popen
可以看到
The return value from popen() is a normal standard I/O stream in all respects save that it must be closed with pclose() rather than fclose(3). Writing to
也就是说,其返回值是新进程的STDOUT ; 如果新的进程没有在STDOUT 给出打印,你当然都不到;
2 在linutmint17 中执行
tshark -r t_fifo -T pdml
echo $?
为2;
说明命令不对,并且错误信息被重定向到STDERR了;
如果你向在STDOUT 中获得错误信息,可以使用
tshark -r t_fifo -T pdml 2>&1