我使用 C 和 python 程序创建了一个 fifo。fifo 是在 C 程序中创建的,它执行读取操作,而写入是在 Python 中完成的。我的问题如下:
- 如果我的读者(C 程序)被强行杀死,我的作者会继续写信给 fifo。我该如何处理这个问题,以便在读者被杀时作者退出?
- 当读者被杀死时,作者是否收到了 SIGPIPE 信号?
我使用 C 和 python 程序创建了一个 fifo。fifo 是在 C 程序中创建的,它执行读取操作,而写入是在 Python 中完成的。我的问题如下:
当使用已失效的读取器写入管道时,写入器将收到 SIGPIPE 信号。默认情况下,这将终止该进程。如果忽略该信号,则写入将返回错误 EPIPE。无论读者如何死,这种情况都会发生。
因此,我在进一步测试中观察到以下内容: