Процесс сможет записывать PIPE_BUF
байты (см. linux/limits.h
) В канал. Затем он застрянет, пока некоторые данные не будут прочитаны.
Буферизованные данные будут храниться до тех пор, пока открыт хотя бы один конец канала - нет «тайм-аута» или чего-то в этом роде. Однако буферы сохраняются в памяти и не сохраняются после перезагрузки.
Для pipe(7)
получения дополнительной информации см. Страницу руководства, особенно раздел «Емкость трубы».
Труба имеет ограниченную емкость. Если канал заполнен,
write(2)
блокировка или сбой в зависимости от того, установлен ли флаг O_NONBLOCK (см. Ниже).[...] Начиная с Linux 2.6.11, объем канала составляет 65536 байт.