【发布时间】:2010-08-01 15:05:35
【问题描述】:
我一直在尝试各种方法(popen、管道 + fork/exec、...)来读取子进程的输出,所有这些方法都在工作,但表现出相同的行为:每当我尝试读取输出时使用read/fread,它只在缓冲区完全填满或子退出时返回。我正在寻找一种更像套接字的行为:只要有一些数据可用就读取任意数量的数据。
我该怎么做?
【问题讨论】:
-
正如其他人所说,您必须更改子进程以将子进程缓冲区刷新到此。子进程是标准的 Unix 实用程序还是您可以访问其源代码的东西?
标签: c linux process pipe redirect