diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ru/man7/pipe.7.po | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man7/pipe.7.po')
-rw-r--r-- | po/ru/man7/pipe.7.po | 928 |
1 files changed, 928 insertions, 0 deletions
diff --git a/po/ru/man7/pipe.7.po b/po/ru/man7/pipe.7.po new file mode 100644 index 00000000..7bfe2d22 --- /dev/null +++ b/po/ru/man7/pipe.7.po @@ -0,0 +1,928 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Alexey, 2016. +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2014-2017. +# kogamatranslator49 <r.podarov@yandex.ru>, 2015. +# Kogan, Darima <silverdk99@gmail.com>, 2014. +# Max Is <ismax799@gmail.com>, 2016. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:03+0100\n" +"PO-Revision-Date: 2019-10-12 08:58+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "pipe" +msgstr "pipe" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "ИМЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "pipe - overview of pipes and FIFOs" +msgstr "pipe - обзор каналов и FIFO" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "ОПИСАНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Pipes and FIFOs (also known as named pipes) provide a unidirectional " +"interprocess communication channel. A pipe has a I<read end> and a I<write " +"end>. Data written to the write end of a pipe can be read from the read end " +"of the pipe." +msgstr "" +"Каналы и FIFO (также называемые именованными каналами) предоставляют " +"двунаправленный канал обмена между процессами. У канала имеется I<конец для " +"чтения> (read end) и I<конец для записи> (write end). Данные, записанные в " +"конец для записи, можно прочитать из конца для чтения." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A pipe is created using B<pipe>(2), which creates a new pipe and returns two " +"file descriptors, one referring to the read end of the pipe, the other " +"referring to the write end. Pipes can be used to create a communication " +"channel between related processes; see B<pipe>(2) for an example." +msgstr "" +"Канал создаётся с помощью вызова B<pipe>(2), который образует новый канал и " +"возвращает два файловых дескриптора, один указывает на конец для чтения, а " +"другой на конец для записи. Каналы можно использовать для создания канала " +"обмена между процессами; пример смотрите в B<pipe>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A FIFO (short for First In First Out) has a name within the filesystem " +"(created using B<mkfifo>(3)), and is opened using B<open>(2). Any process " +"may open a FIFO, assuming the file permissions allow it. The read end is " +"opened using the B<O_RDONLY> flag; the write end is opened using the " +"B<O_WRONLY> flag. See B<fifo>(7) for further details. I<Note>: although " +"FIFOs have a pathname in the filesystem, I/O on FIFOs does not involve " +"operations on the underlying device (if there is one)." +msgstr "" +"У FIFO (сокращение от First In First Out, первым вошёл, первым вышел) " +"имеется имя в файловой системе (создаётся с помощью B<mkfifo>(3)), и такой " +"канал открывается с помощью B<open>(2). Любой процесс может открыть FIFO, " +"если это ему разрешено правами на файл. Конец для чтения открывается при " +"указании флага B<O_RDONLY>; конец для записи открывается при указании флага " +"B<O_WRONLY>. Подробней смотрите B<fifo>(7). I<Замечание>: хотя у FIFO есть " +"путь в файловой системе, при вводе-выводе из FIFO не используются операции с " +"нижележащим устройством (если оно есть)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I/O on pipes and FIFOs" +msgstr "Ввод-вывод из каналов и FIFO" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The only difference between pipes and FIFOs is the manner in which they are " +"created and opened. Once these tasks have been accomplished, I/O on pipes " +"and FIFOs has exactly the same semantics." +msgstr "" +"Каналы и FIFO отличаются только способом создания и открытия. После " +"выполнения этих задач, ввод-вывод из каналов и FIFO имеет одинаковую " +"семантику." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If a process attempts to read from an empty pipe, then B<read>(2) will " +#| "block until data is available. If a process attempts to write to a full " +#| "pipe (see below), then B<write>(2) blocks until sufficient data has been " +#| "read from the pipe to allow the write to complete. Nonblocking I/O is " +#| "possible by using the B<fcntl>(2) B<F_SETFL> operation to enable the " +#| "B<O_NONBLOCK> open file status flag." +msgid "" +"If a process attempts to read from an empty pipe, then B<read>(2) will " +"block until data is available. If a process attempts to write to a full " +"pipe (see below), then B<write>(2) blocks until sufficient data has been " +"read from the pipe to allow the write to complete." +msgstr "" +"Если процесс пытается выполнить чтение из пустого канала, то B<read>(2) " +"заблокирует выполнение в ожидании данных. Если процесс пытается выполнить " +"запись в заполненный канал (смотрите далее), то B<write>(2) заблокирует " +"выполнение до тех пор, пока из канала не будут прочитаны данные, чтобы можно " +"было записать ожидающие. Возможен неблокируемый ввод-вывод с помощью вызова " +"B<fcntl>(2) с операцией B<F_SETFL>, включающей флаг B<O_NONBLOCK> в " +"состоянии открытого файла." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +msgid "" +"Nonblocking I/O is possible by using the B<fcntl>(2) B<F_SETFL> operation " +"to enable the B<O_NONBLOCK> open file status flag or by opening a " +"B<fifo>(7) with B<O_NONBLOCK>. If any process has the pipe open for " +"writing, reads fail with B<EAGAIN>; otherwise\\[em]with no potential " +"writers\\[em]reads succeed and return empty." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The communication channel provided by a pipe is a I<byte stream>: there is " +"no concept of message boundaries." +msgstr "" +"Канал обмена, предоставляемый каналом, является I<потоком байт>: какие-либо " +"границы сообщений отсутствуют." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If all file descriptors referring to the write end of a pipe have been " +"closed, then an attempt to B<read>(2) from the pipe will see end-of-file " +"(B<read>(2) will return 0). If all file descriptors referring to the read " +"end of a pipe have been closed, then a B<write>(2) will cause a B<SIGPIPE> " +"signal to be generated for the calling process. If the calling process is " +"ignoring this signal, then B<write>(2) fails with the error B<EPIPE>. An " +"application that uses B<pipe>(2) and B<fork>(2) should use suitable " +"B<close>(2) calls to close unnecessary duplicate file descriptors; this " +"ensures that end-of-file and B<SIGPIPE>/B<EPIPE> are delivered when " +"appropriate." +msgstr "" +"Если все файловые дескрипторы, указывающие на конец канала для записи, были " +"закрыты, то попытка выполнить B<read>(2) из канала возвратит конец файла " +"(B<read>(2) вернёт 0). Если все файловые дескрипторы, указывающие на конец " +"канала для чтения, были закрыты, то B<write>(2) завершится сигналом " +"B<SIGPIPE>, который будет послан вызывающему процессу. Если вызывающий " +"процесс игнорирует этот сигнал, то B<write>(2) завершится ошибкой B<EPIPE>. " +"Приложение, использующее B<pipe>(2) и B<fork>(2), должно использовать " +"правильные вызовы B<close>(2) для закрытия ненужных копий файловых " +"дескрипторов; это обеспечит появления конца файла и доставку B<SIGPIPE>/" +"B<EPIPE> в подходящий момент." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "It is not possible to apply B<lseek>(2) to a pipe." +msgstr "Для канала невозможно вызвать B<lseek>(2)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Pipe capacity" +msgstr "Ёмкость канала" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A pipe has a limited capacity. If the pipe is full, then a B<write>(2) " +"will block or fail, depending on whether the B<O_NONBLOCK> flag is set (see " +"below). Different implementations have different limits for the pipe " +"capacity. Applications should not rely on a particular capacity: an " +"application should be designed so that a reading process consumes data as " +"soon as it is available, so that a writing process does not remain blocked." +msgstr "" +"Канал имеет ограниченную ёмкость. Если канал переполнен, то B<write>(2) " +"заблокируется или завершится с ошибкой, в зависимости от наличия флага " +"B<O_NONBLOCK> (смотрите далее). В различных реализациях разные ограничения " +"на ёмкость канала. Приложения не должны полагаться на определённую величину: " +"их нужно разрабатывать так, чтобы читающий процесс перерабатывал данные как " +"только они появляются, чтобы пишущий процесс не блокировался." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "In Linux versions before 2.6.11, the capacity of a pipe was the same as " +#| "the system page size (e.g., 4096 bytes on i386). Since Linux 2.6.11, the " +#| "pipe capacity is 16 pages (i.e., 65,536 bytes in a system with a page " +#| "size of 4096 bytes). Since Linux 2.6.35, the default pipe capacity is 16 " +#| "pages, but the capacity can be queried and set using the B<fcntl>(2) " +#| "B<F_GETPIPE_SZ> and B<F_SETPIPE_SZ> operations. See B<fcntl>(2) for " +#| "more information." +msgid "" +"Before Linux 2.6.11, the capacity of a pipe was the same as the system page " +"size (e.g., 4096 bytes on i386). Since Linux 2.6.11, the pipe capacity is " +"16 pages (i.e., 65,536 bytes in a system with a page size of 4096 bytes). " +"Since Linux 2.6.35, the default pipe capacity is 16 pages, but the capacity " +"can be queried and set using the B<fcntl>(2) B<F_GETPIPE_SZ> and " +"B<F_SETPIPE_SZ> operations. See B<fcntl>(2) for more information." +msgstr "" +"В Linux до версии 2.6.11, ёмкость канала была равна размеру системной " +"страницы (4096 байт на i386). Начиная с Linux 2.6.11, ёмкость канала равна " +"16 страницам (т. е., 65536 байтам в системе с размером страницы в 4096 " +"байта). Начиная с Linux 2.6.35, ёмкость канала по умолчанию равна 16 " +"страницам, но это значение можно прочитать и изменить с помощью вызова " +"B<fcntl>(2) с операциями B<F_GETPIPE_SZ> и B<F_SETPIPE_SZ>. Подробности " +"смотрите в B<fcntl>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following B<ioctl>(2) operation, which can be applied to a file " +"descriptor that refers to either end of a pipe, places a count of the number " +"of unread bytes in the pipe in the I<int> buffer pointed to by the final " +"argument of the call:" +msgstr "" +"Следующая операция B<ioctl>(2), которая может быть применена к файловому " +"дескриптору, указывающему на любой конец канала, помещает количество " +"непрочитанных байт канала в буфер I<int>, задаваемый последним аргументом " +"вызова:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid " ioctl(fd, FIONREAD, &nbytes);\n" +msgid "ioctl(fd, FIONREAD, &nbytes);\n" +msgstr " ioctl(fd, FIONREAD, &nbytes);\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<FIONREAD> operation is not specified in any standard, but is provided " +"on many implementations." +msgstr "" +"Операция B<FIONREAD> отсутствует в стандартах, но имеется во многих " +"реализациях." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "/proc files" +msgstr "Файлы в /proc" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux, the following files control how much memory can be used for pipes:" +msgstr "" +"В Linux управление количеством памяти каналов осуществляется через следующие " +"файлы:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I</proc/sys/fs/pipe-max-pages> (only in Linux 2.6.34)" +msgstr "I</proc/sys/fs/pipe-max-pages> (только в Linux 2.6.34)" + +#. commit b492e95be0ae672922f4734acf3f5d35c30be948 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An upper limit, in pages, on the capacity that an unprivileged user (one " +"without the B<CAP_SYS_RESOURCE> capability) can set for a pipe." +msgstr "" +"Верхнее ограничение (в страницах) ёмкости, которое непривилегированный " +"пользователь (без мандата B<CAP_SYS_RESOURCE>) может задать для канала." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The default value for this limit is 16 times the default pipe capacity (see " +"above); the lower limit is two pages." +msgstr "" +"Значение по умолчанию этого ограничения равно 16 кратному размеру ёмкости " +"канала по умолчанию (смотрите выше); нижнее ограничение равно 2м страницам." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This interface was removed in Linux 2.6.35, in favor of I</proc/sys/fs/pipe-" +"max-size>." +msgstr "" +"Данный интерфейс удалён в Linux 2.6.35; его заменяет I</proc/sys/fs/pipe-max-" +"size>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I</proc/sys/fs/pipe-max-size> (since Linux 2.6.35)" +msgstr "I</proc/sys/fs/pipe-max-size> (начиная с Linux 2.6.35)" + +#. commit ff9da691c0498ff81fdd014e7a0731dab2337dac +#. This limit is not checked on pipe creation, where the capacity is +#. always PIPE_DEF_BUFS, regardless of pipe-max-size +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The maximum size (in bytes) of individual pipes that can be set by users " +"without the B<CAP_SYS_RESOURCE> capability. The value assigned to this file " +"may be rounded upward, to reflect the value actually employed for a " +"convenient implementation. To determine the rounded-up value, display the " +"contents of this file after assigning a value to it." +msgstr "" +"Максимальный размер (в байтах) отдельных каналов, который может быть " +"установлен пользователем без мандата B<CAP_SYS_RESOURCE>. Значение, " +"записываемое в этот файл, может округлиться в большую сторону, отражая " +"реальное значение, принятое для удобства реализации. Чтобы определить " +"увеличенное значение, прочитайте содержимое этого файла после записи " +"значения." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The default value for this file is 1048576 (1\\ MiB). The minimum value " +"that can be assigned to this file is the system page size. Attempts to set " +"a limit less than the page size cause B<write>(2) to fail with the error " +"B<EINVAL>." +msgstr "" +"Значение по умолчанию равно 1048576 (1\\ МиБ). Минимальное значение равно " +"размеру системной страницы. При попытке задать меньшее значение вызов " +"B<write>(2) завершится ошибкой B<EINVAL>." + +#. commit 086e774a57fba4695f14383c0818994c0b31da7c +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 4.9, the value on this file also acts as a ceiling on the " +"default capacity of a new pipe or newly opened FIFO." +msgstr "" +"Начиная с Linux 4.9 значение в данном файле также служит верхним пределом " +"ёмкости по умолчанию для новых каналов или открываемых FIFO." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I</proc/sys/fs/pipe-user-pages-hard> (since Linux 4.5)" +msgstr "I</proc/sys/fs/pipe-user-pages-hard> (начиная с Linux 4.5)" + +#. commit 759c01142a5d0f364a462346168a56de28a80f52 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The hard limit on the total size (in pages) of all pipes created or set by a " +"single unprivileged user (i.e., one with neither the B<CAP_SYS_RESOURCE> nor " +"the B<CAP_SYS_ADMIN> capability). So long as the total number of pages " +"allocated to pipe buffers for this user is at this limit, attempts to create " +"new pipes will be denied, and attempts to increase a pipe's capacity will be " +"denied." +msgstr "" +"Жёсткое ограничение на общий размер (в страницах) всех каналов создаваемых " +"или изменяемых одним непривилегированным пользователем (т. е., без мандата " +"B<CAP_SYS_RESOURCE> или B<CAP_SYS_ADMIN>). Пока общее количество страниц, " +"выделенных под буферы каналов для этого пользователя, равно этому " +"ограничению, попытки создать новые каналы будут отклоняться, также как и " +"попытки увеличить ёмкость канала." + +#. The default was chosen to avoid breaking existing applications that +#. make intensive use of pipes (e.g., for splicing). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When the value of this limit is zero (which is the default), no hard limit " +"is applied." +msgstr "" +"Если значение этого ограничения равно нулю (по умолчанию), то жёсткое " +"ограничение не применяется." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I</proc/sys/fs/pipe-user-pages-soft> (since Linux 4.5)" +msgstr "I</proc/sys/fs/pipe-user-pages-soft> (начиная с Linux 4.5)" + +#. commit 759c01142a5d0f364a462346168a56de28a80f52 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The soft limit on the total size (in pages) of all pipes created or set by a " +"single unprivileged user (i.e., one with neither the B<CAP_SYS_RESOURCE> nor " +"the B<CAP_SYS_ADMIN> capability). So long as the total number of pages " +"allocated to pipe buffers for this user is at this limit, individual pipes " +"created by a user will be limited to one page, and attempts to increase a " +"pipe's capacity will be denied." +msgstr "" +"Мягкое ограничение на общий размер (в страницах) всех каналов создаваемых " +"или изменяемых одним непривилегированным пользователем (т. е., без мандата " +"B<CAP_SYS_RESOURCE> или B<CAP_SYS_ADMIN>). Пока общее количество страниц, " +"выделенных под буферы каналов для этого пользователя, равно этому " +"ограничению, отдельные каналы, создаваемые пользователем, будут ограничены " +"одной страницей, а попытки увеличить ёмкость канала будут отклоняться." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When the value of this limit is zero, no soft limit is applied. The default " +"value for this file is 16384, which permits creating up to 1024 pipes with " +"the default capacity." +msgstr "" +"Если значение этого ограничения равно нулю, то мягкое ограничение не " +"применяется. По умолчанию значение в этом файле равно 16384, что позволяет " +"создать до 1024 каналов с ёмкостью по умолчанию." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 4.9, some bugs affected the handling of the I<pipe-user-pages-" +"soft> and I<pipe-user-pages-hard> limits; see BUGS." +msgstr "" +"До Linux 4.9 имелись дефекты, влияющие на обработку ограничений I<pipe-user-" +"pages-soft> и I<pipe-user-pages-hard>; смотрите ДЕФЕКТЫ." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "PIPE_BUF" +msgstr "PIPE_BUF" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "POSIX.1 says that B<write>(2)s of less than B<PIPE_BUF> bytes must be " +#| "atomic: the output data is written to the pipe as a contiguous sequence. " +#| "Writes of more than B<PIPE_BUF> bytes may be nonatomic: the kernel may " +#| "interleave the data with data written by other processes. POSIX.1 " +#| "requires B<PIPE_BUF> to be at least 512 bytes. (On Linux, B<PIPE_BUF> is " +#| "4096 bytes.) The precise semantics depend on whether the file descriptor " +#| "is nonblocking (B<O_NONBLOCK>), whether there are multiple writers to the " +#| "pipe, and on I<n>, the number of bytes to be written:" +msgid "" +"POSIX.1 says that writes of less than B<PIPE_BUF> bytes must be atomic: the " +"output data is written to the pipe as a contiguous sequence. Writes of more " +"than B<PIPE_BUF> bytes may be nonatomic: the kernel may interleave the data " +"with data written by other processes. POSIX.1 requires B<PIPE_BUF> to be at " +"least 512 bytes. (On Linux, B<PIPE_BUF> is 4096 bytes.) The precise " +"semantics depend on whether the file descriptor is nonblocking " +"(B<O_NONBLOCK>), whether there are multiple writers to the pipe, and on " +"I<n>, the number of bytes to be written:" +msgstr "" +"В POSIX.1 указано, что операция B<write>(2) для записи меньше чем " +"B<PIPE_BUF> байт должна быть атомарна: выходные данные записываются в канал " +"как непрерывная последовательность. Запись более B<PIPE_BUF> байт может быть " +"не атомарна: ядро может чередовать данные с данными, записываемыми другими " +"процессами. В POSIX.1 требуется, чтобы значение B<PIPE_BUF> было не менее " +"512 байт (в Linux, B<PIPE_BUF> равно 4096 байт). Точная семантика зависит от " +"вида блокированности файлового дескриптора (B<O_NONBLOCK>), есть ли " +"несколько писателей в канала и от I<n>, количества записываемых байт:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NONBLOCK> disabled, I<n> E<lt>= B<PIPE_BUF>" +msgstr "B<O_NONBLOCK> сброшен, I<n> E<lt>= B<PIPE_BUF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All I<n> bytes are written atomically; B<write>(2) may block if there is " +"not room for I<n> bytes to be written immediately" +msgstr "" +"Все I<n> байт записываются атомарно; B<write>(2) может заблокироваться, если " +"нет места для немедленной записи I<n> байт" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NONBLOCK> enabled, I<n> E<lt>= B<PIPE_BUF>" +msgstr "B<O_NONBLOCK> установлен, I<n> E<lt>= B<PIPE_BUF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If there is room to write I<n> bytes to the pipe, then B<write>(2) succeeds " +"immediately, writing all I<n> bytes; otherwise B<write>(2) fails, with " +"I<errno> set to B<EAGAIN>." +msgstr "" +"Если есть место для записи I<n> байт в канал, то B<write>(2) немедленно " +"завершается без ошибки, записывая все I<n> байт; в противном случае " +"B<write>(2) завершается с ошибкой, а I<errno> присваивается значение " +"B<EAGAIN>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NONBLOCK> disabled, I<n> E<gt> B<PIPE_BUF>" +msgstr "B<O_NONBLOCK> сброшен, I<n> E<gt> B<PIPE_BUF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The write is nonatomic: the data given to B<write>(2) may be interleaved " +"with B<write>(2)s by other process; the B<write>(2) blocks until I<n> bytes " +"have been written." +msgstr "" +"Запись не атомарна: данные, переданные во B<write>(2), могут чередоваться с " +"B<write>(2) из других процессов; B<write>(2) блокируется до тех пор, пока не " +"будут записаны I<n> байт." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NONBLOCK> enabled, I<n> E<gt> B<PIPE_BUF>" +msgstr "B<O_NONBLOCK> установлен, I<n> E<gt> B<PIPE_BUF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the pipe is full, then B<write>(2) fails, with I<errno> set to " +"B<EAGAIN>. Otherwise, from 1 to I<n> bytes may be written (i.e., a " +"\"partial write\" may occur; the caller should check the return value from " +"B<write>(2) to see how many bytes were actually written), and these bytes " +"may be interleaved with writes by other processes." +msgstr "" +"Если канала переполнен, то B<write>(2) завершается с ошибкой, а I<errno> " +"присваивается значение B<EAGAIN>. В противном случае, может быть записано " +"от 1 до I<n> байт (т. е., может произойти «частичная запись»; вызывающий " +"должен проверить возвращаемое значение B<write>(2), чтобы узнать сколько " +"байт действительно записано), и эти байты могут чередоваться с данными, " +"записанными другими процессами." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Open file status flags" +msgstr "Флаги состояния открытого файла" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The only open file status flags that can be meaningfully applied to a pipe " +"or FIFO are B<O_NONBLOCK> and B<O_ASYNC>." +msgstr "" +"К каналу и FIFO из флагов состояния открытого файла применимы только " +"B<O_NONBLOCK> и B<O_ASYNC>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Setting the B<O_ASYNC> flag for the read end of a pipe causes a signal " +#| "(B<SIGIO> by default) to be generated when new input becomes available on " +#| "the pipe. The target for delivery of signals must be set using the " +#| "B<fcntl>(2) B<F_SETOWN> command. On Linux, B<O_ASYNC> is supported for " +#| "pipes and FIFOs only since kernel 2.6." +msgid "" +"Setting the B<O_ASYNC> flag for the read end of a pipe causes a signal " +"(B<SIGIO> by default) to be generated when new input becomes available on " +"the pipe. The target for delivery of signals must be set using the " +"B<fcntl>(2) B<F_SETOWN> command. On Linux, B<O_ASYNC> is supported for " +"pipes and FIFOs only since Linux 2.6." +msgstr "" +"Установка флага B<O_ASYNC> для чтения от конца канала проводит к генерации " +"сигнала (по умолчанию B<SIGIO>) при появлении новых данных в канале. " +"Получатель сигнала должен быть указан с помощью команды B<F_SETOWN> вызовом " +"B<fcntl>(2). В Linux B<O_ASYNC> поддерживается для каналов и FIFO только " +"начиная с ядра версии 2.6." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Portability notes" +msgstr "Замечания о переносимости" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On some systems (but not Linux), pipes are bidirectional: data can be " +"transmitted in both directions between the pipe ends. POSIX.1 requires only " +"unidirectional pipes. Portable applications should avoid reliance on " +"bidirectional pipe semantics." +msgstr "" +"В некоторых системах (но не в Linux), каналы являются двунаправленными: " +"данные можно передавать в обоих направлениях между концами канала. Согласно " +"POSIX.1 требуются только однонаправленные каналы. Переносимые приложения не " +"должны зависеть от семантики двунаправленных каналов." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "ДЕФЕКТЫ" + +#. These bugs where remedied by a series of patches, in particular, +#. commit b0b91d18e2e97b741b294af9333824ecc3fadfd8 and +#. commit a005ca0e6813e1d796a7422a7e31d8b8d6555df1 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 4.9, some bugs affected the handling of the I<pipe-user-pages-" +"soft> and I<pipe-user-pages-hard> limits when using the B<fcntl>(2) " +"B<F_SETPIPE_SZ> operation to change a pipe's capacity:" +msgstr "" +"До Linux 4.9 имелись дефекты, влияющие на обработку ограничений I<pipe-user-" +"pages-soft> и I<pipe-user-pages-hard> при операции B<fcntl>(2) " +"B<F_SETPIPE_SZ> по изменению ёмкости канала:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(a)" +msgstr "(а)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When increasing the pipe capacity, the checks against the soft and hard " +"limits were made against existing consumption, and excluded the memory " +"required for the increased pipe capacity. The new increase in pipe capacity " +"could then push the total memory used by the user for pipes (possibly far) " +"over a limit. (This could also trigger the problem described next.)" +msgstr "" +"При увеличении ёмкости канала, проверки мягких и жёстких ограничений " +"делались по существующему потреблению и не включали память, требуемую для " +"увеличения ёмкости канала. Новое увеличение ёмкости канала в последствии " +"могло превысить ограничение на общее количество памяти, используемой " +"пользователем для каналов (это могло также вызвать проблему, описанную " +"далее)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with Linux 4.9, the limit checking includes the memory required for " +"the new pipe capacity." +msgstr "" +"Начиная с Linux 4.9 при проверке ограничения добавляется память, требуемая " +"под ёмкость нового канала." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(b)" +msgstr "(б)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The limit checks were performed even when the new pipe capacity was less " +"than the existing pipe capacity. This could lead to problems if a user set " +"a large pipe capacity, and then the limits were lowered, with the result " +"that the user could no longer decrease the pipe capacity." +msgstr "" +"Проверки ограничения выполнялись даже, когда ёмкость нового канала была " +"меньше чем ёмкость существующего канала. Это могло привести к проблемам, " +"если пользователь устанавливал большую ёмкость канала, а затем ограничения " +"снижались, и в результате этого пользователь больше не мог уменьшить ёмкость " +"канала." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with Linux 4.9, checks against the limits are performed only when " +"increasing a pipe's capacity; an unprivileged user can always decrease a " +"pipe's capacity." +msgstr "" +"Начиная с Linux 4.9 проверки ограничений выполняются только когда ёмкость " +"канала увеличивается; непривилегированный пользователь всегда может " +"уменьшить ёмкость канала." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(c)" +msgstr "(в)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The accounting and checking against the limits were done as follows:" +msgstr "Учёт и проверка ограничений выполнялись следующим образом:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(1)" +msgstr "(1)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Test whether the user has exceeded the limit." +msgstr "Выполнялась проверка не превышает ли пользователь ограничение." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(2)" +msgstr "(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Make the new pipe buffer allocation." +msgstr "Выделялся буфер под новый канал." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(3)" +msgstr "(3)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Account new allocation against the limits." +msgstr "Учитывалось новое выделение в ограничениях." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "This was racey. Multiple processes could pass point (a) simultaneously, " +#| "and then allocate pipe buffers that were accounted for only in step (c), " +#| "with the result that the user's pipe buffer allocation could be pushed " +#| "over the limit." +msgid "" +"This was racey. Multiple processes could pass point (1) simultaneously, and " +"then allocate pipe buffers that were accounted for only in step (3), with " +"the result that the user's pipe buffer allocation could be pushed over the " +"limit." +msgstr "" +"Это приводило к появлению состязательности. Несколько процессов могли пройти " +"пункт (а) одновременно и затем выделить буферы канала, которое учитывалось " +"только в шаге (в), что приводило к превышению пользовательского ограничения " +"размера выделения буферов под канал." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with Linux 4.9, the accounting step is performed before doing the " +"allocation, and the operation fails if the limit would be exceeded." +msgstr "" +"Начиная с Linux 4.9, шаг учёта выполняется до выделения и операция " +"завершается с ошибкой, если бы было превышение ограничения." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Before Linux 4.9, bugs similar to points (1) and (3) could also occur " +#| "when the kernel allocated memory for a new pipe buffer; that is, when " +#| "calling B<pipe>(2) and when opening a previously unopened FIFO." +msgid "" +"Before Linux 4.9, bugs similar to points (a) and (c) could also occur when " +"the kernel allocated memory for a new pipe buffer; that is, when calling " +"B<pipe>(2) and when opening a previously unopened FIFO." +msgstr "" +"До Linux 4.9, дефекты подобные (1) и (3), также могли происходить, когда " +"ядро выделяет память под буферы нового канала; то есть, когда вызывается " +"B<pipe>(2) и когда открывается ранее не открытый FIFO." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "СМ. ТАКЖЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<mkfifo>(1), B<dup>(2), B<fcntl>(2), B<open>(2), B<pipe>(2), B<poll>(2), " +"B<select>(2), B<socketpair>(2), B<splice>(2), B<stat>(2), B<tee>(2), " +"B<vmsplice>(2), B<mkfifo>(3), B<epoll>(7), B<fifo>(7)" +msgstr "" +"B<mkfifo>(1), B<dup>(2), B<fcntl>(2), B<open>(2), B<pipe>(2), B<poll>(2), " +"B<select>(2), B<socketpair>(2), B<splice>(2), B<stat>(2), B<tee>(2), " +"B<vmsplice>(2), B<mkfifo>(3), B<epoll>(7), B<fifo>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-04" +msgstr "4 декабря 2022 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +msgid "" +"If a process attempts to read from an empty pipe, then B<read>(2) will " +"block until data is available. If a process attempts to write to a full " +"pipe (see below), then B<write>(2) blocks until sufficient data has been " +"read from the pipe to allow the write to complete. Nonblocking I/O is " +"possible by using the B<fcntl>(2) B<F_SETFL> operation to enable the " +"B<O_NONBLOCK> open file status flag." +msgstr "" +"Если процесс пытается выполнить чтение из пустого канала, то B<read>(2) " +"заблокирует выполнение в ожидании данных. Если процесс пытается выполнить " +"запись в заполненный канал (смотрите далее), то B<write>(2) заблокирует " +"выполнение до тех пор, пока из канала не будут прочитаны данные, чтобы можно " +"было записать ожидающие. Возможен неблокируемый ввод-вывод с помощью вызова " +"B<fcntl>(2) с операцией B<F_SETFL>, включающей флаг B<O_NONBLOCK> в " +"состоянии открытого файла." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-16" +msgstr "16 июля 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-08" +msgstr "8 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |