Damn-Small-Linux telnet server freezes

Ваша команда изменяет максимальный размер буфера, а не размер по умолчанию.

Из справочной страницы pipe (7) :

/ proc / sys / fs / pipe-max-size (начиная с Linux 2.6.35)

Максимальный размер (в байтов) отдельных каналов, которые могут быть установлены пользователями без возможности CAP_SYS_RESOURCE.

и:

Начиная с Linux 2.6.11, емкость канала составляет 16 страниц (т. Е. 65 536 байт в системе с размером страницы 4096 байт). Начиная с Linux 2.6.35, емкость канала по умолчанию составляет 16 страниц, но емкость можно запросить и задать с помощью fcntl (2) F_GETPIPE_SZ и F_SETPIPE_SZ операции.

Таким образом, если вы не вызовете системный вызов fcntl (F_SETPIPE_SZ) в открытом канале, он останется на своей емкости по умолчанию: 64 КБ. Для этого вы должны использовать язык, который предлагает привязку к системным вызовам (C / C ++, Python, PHP, perl, ... но не sh / bash).

1
29.10.2017, 13:21
0 ответов

Теги

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