父进程已使用 mkfifo(pipe_name, S_IWUSR | S_IRUSR) 为每个辅助进程成功创建命名管道
然后它启动助手,并通过以下方式打开每个管道:
::open(pipe_name, O_WRONLY);
在辅助进程端,它通过以下方式打开管道的读取器端:
::open(pipe_name, O_RDONLY);
之后还有一些阅读和写作。
该程序几乎总是有效,但在某些情况下,它会卡住!当我将进程附加到 ddd 时,我看到主进程和辅助进程都卡在打开管道时。几天来我一直对这种现象感到困惑,无法弄清楚。另外我不知道如何调试这个:如何让进程超时并返回错误代码?