设置如下:
FILE *f = popen("./output", "r");int d = fileno(f);fcntl(d, F_SETFL, O_NONBLOCK);现在您可以阅读:
ssize_t r = read(d, buf, count);if (r == -1 && errno == EAGAIN) no data yetelse if (r > 0) received dataelse pipe closed
完成后,清理:
pclose(f);

设置如下:
FILE *f = popen("./output", "r");int d = fileno(f);fcntl(d, F_SETFL, O_NONBLOCK);现在您可以阅读:
ssize_t r = read(d, buf, count);if (r == -1 && errno == EAGAIN) no data yetelse if (r > 0) received dataelse pipe closed
完成后,清理:
pclose(f);