Что касается PIPE (IPC), что произойдет, если конец чтения закрыт, а процесс записи все еще пытается писать в него ?

Блокирует ли процесс записи данные, поступающие в конвейер, в то время как конец чтения PIPE закрыт, а процесс Writer все еще пытается писать в него? Или что-нибудь еще, связанное с ядром, чтобы решить эту ситуацию?

-2
задан 22 August 2020 в 07:31

1 ответ

После небольшого исследования получил этот ответ: Процесс записи отправляет сигнал SIGPIPE ядром . От: https://www.gnu.org/software/libc/manual/html_node/Operation-Error-Signals.html Если вы используете каналы или FIFO, вы должны спроектировать свое приложение так, чтобы один процесс открывал канал для чтения, прежде чем другой начнет запись. Если процесс чтения никогда не запускается или неожиданно завершается, запись в канал или FIFO вызывает сигнал SIGPIPE и наоборот. Хотелось бы получить более подробную информацию.

0
ответ дан 24 August 2020 в 08:20

Другие вопросы по тегам:

Похожие вопросы: