【问题标题】:How to test if output to std::cout (connected to a pipe) will block如何测试输出到 std::cout (连接到管道)是否会阻塞
【发布时间】:2010-11-02 22:27:59
【问题描述】:

我有一个 C++ 程序,它由另一个可执行文件启动,该可执行文件通过管道获取该程序的输出。在某些情况下,父进程的读取速度比子进程的写入速度要慢,当管道管理器 (QNX) 中的管道缓冲区已满时,子进程会阻塞。

是否有标准的方法来测试 cout

【问题讨论】:

    标签: c++ ipc pipe


    【解决方案1】:

    不,检测到特定于操作系统。

    【讨论】:

      【解决方案2】:

      对于 QNX,我很确定 select/poll 应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2021-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-08
        • 2017-05-23
        • 2020-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多