您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用popen的非阻塞管道?

使用popen的非阻塞管道?

设置如下:

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 yet
else if (r > 0)
    received data
else
    pipe closed

完成后,清理:

pclose(f);
其他 2022/1/1 18:21:12 有482人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶