# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Azamat Hackimov , 2017. # Dmitry Bolkhovskikh , 2017. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-03-01 16:56+0100\n" "PO-Revision-Date: 2019-09-27 19:31+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \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 "fcntl" msgstr "fcntl" #. 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 "fcntl - manipulate file descriptor" msgstr "fcntl - работа с файловым дескриптором" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "СИНТАКСИС" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Efcntl.hE>\n" msgstr "B<#include Efcntl.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, int >IB<, ... /* >IB< */ );>\n" msgstr "BIB<, int >IB<, ... /* >IB< */ );>\n" #. 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 "" "B() performs one of the operations described below on the open file " "descriptor I. The operation is determined by I." msgstr "" "B() позволяет выполнять различные команды над открытым файловым " "дескриптором I. Команда определяется содержимым аргумента I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() can take an optional third argument. Whether or not this " "argument is required is determined by I. The required argument type is " "indicated in parentheses after each I name (in most cases, the required " "type is I, and we identify the argument using the name I), or " "I is specified if the argument is not required." msgstr "" "B() может принимать необязательный третий аргумент. Необходимость его " "указания зависит от значения, указанного в I. Тип необходимого " "аргумента указан в скобках после каждого имени значения I (в " "большинстве случаев требуется тип I, и мы определяем аргумент с помощью " "имени I), или указывается I, если аргумент не нужен." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Certain of the operations below are supported only since a particular Linux " "kernel version. The preferred method of checking whether the host kernel " "supports a particular operation is to invoke B() with the desired " "I value and then test whether the call failed with B, " "indicating that the kernel does not recognize this value." msgstr "" "Некоторые операции, описанные далее, поддерживаются только начиная с " "определённой версии ядра Linux. Корректным методом проверки доступности " "операции в ядре является вызов B() с желаемой операцией в I и " "сравнение кода возврата вызов с B, который указывает на " "неподдерживаемость значения ядром." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Duplicating a file descriptor" msgstr "Создание дубликата файлового дескриптора" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Duplicate the file descriptor I using the lowest-numbered available file " "descriptor greater than or equal to I. This is different from " "B(2), which uses exactly the file descriptor specified." msgstr "" "Создаёт копию файлового дескриптора I, используя и наименьший доступный " "номер файлового дескриптора, который больше или равен I. Отличие от " "B(2) в том, что там файловый дескриптор задаётся явно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "On success, the new file descriptor is returned." msgstr "" "При успешном выполнении этой команды, возвращается новый файловый дескриптор." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See B(2) for further details." msgstr "Дополнительную информацию смотрите в B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 2.6.24)" msgstr "B (I; начиная с Linux 2.6.24)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As for B, but additionally set the close-on-exec flag for the " "duplicate file descriptor. Specifying this flag permits a program to avoid " "an additional B() B operation to set the B " "flag. For an explanation of why this flag is useful, see the description of " "B in B(2)." msgstr "" "Как B, но на новом файловом дескрипторе дополнительно " "устанавливается флаг закрытия-при-выполнении. Установка этого флага " "позволяет программам не делать дополнительный вызов B() с командой " "B для установки флага B. О том, зачем нужен этот флаг, " "смотрите описание B в B(2)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File descriptor flags" msgstr "Флаги файлового дескриптора" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following commands manipulate the flags associated with a file " "descriptor. Currently, only one such flag is defined: B, the " "close-on-exec flag. If the B bit is set, the file descriptor " "will automatically be closed during a successful B(2). (If the " "B(2) fails, the file descriptor is left open.) If the " "B bit is not set, the file descriptor will remain open across an " "B(2)." msgstr "" "Следующие команды работают с флагами, связанными с файловым дескриптором. В " "настоящее время определён только один флаг: B, флаг close-on-" "exec. Если бит B равен 1, то файловый дескриптор будет " "автоматически закрыт при успешном вызове B(2) (если B(2) " "завершится с ошибкой, то файловый дескриптор останется открытым). Если бит " "B равен 0, то файловый дескриптор останется открытым после " "B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return (as the function result) the file descriptor flags; I is ignored." msgstr "" "Вернуть (как результат функции) флаги файлового дескриптора; значение I " "игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Set the file descriptor flags to the value specified by I." msgstr "" "Установить флаги файлового дескриптора согласно значению, указанному в " "аргументе I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In multithreaded programs, using B() B to set the close-on-" "exec flag at the same time as another thread performs a B(2) plus " "B(2) is vulnerable to a race condition that may unintentionally " "leak the file descriptor to the program executed in the child process. See " "the discussion of the B flag in B(2) for details and a " "remedy to the problem." msgstr "" "В многонитевых программах использование B() с B для " "установки флага close-on-exec в то время как другая нить выполняет " "B(2) плюс B(2) приводит к состязательности, что может вызвать " "передачу файлового дескриптора программе, запущенной в дочернем процессе. " "Смотрите обсуждение флага B в B(2) и решение проблемы." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File status flags" msgstr "Флаги состояния файла" #. or #. .BR creat (2), #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Each open file description has certain associated status flags, initialized " "by B(2) and possibly modified by B(). Duplicated file " "descriptors (made with B(2), B(F_DUPFD), B(2), etc.) refer " "to the same open file description, and thus share the same file status flags." msgstr "" "Каждое описание открытого файла имеет несколько связанных с ним флагов " "состояния, которые инициализируются вызовом B(2) и, возможно, " "изменяются затем вызовом B(). Эти флаги совместно используются " "копиями файловых дескрипторов (сделанными с помощью B(2), " "B(F_DUPFD), B(2) и т.д.), которые указывают на одно описание " "открытого файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The file status flags and their semantics are described in B(2)." msgstr "Эти флаги состояния и их смысл описаны в B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return (as the function result) the file access mode and the file status " "flags; I is ignored." msgstr "" "Вернуть (как результат функции) режим доступа к файлу и флаги состояния " "файла; значение I игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set the file status flags to the value specified by I. File access " "mode (B, B, B) and file creation flags (i.e., " "B, B, B, B) in I are ignored. On " "Linux, this command can change only the B, B, " "B, B, and B flags. It is not possible to " "change the B and B flags; see BUGS, below." msgstr "" "Установить флаги состояния файла согласно значению, указанному в аргументе " "I. Режим доступа к файлу (B, B, B) и флаги " "создания файла (т. е., B, B, B, B) в " "I игнорируются. В Linux эта команда может изменять только флаги " "B, B, B, B и B. " "Невозможно изменить флаги B и B; смотрите ДЕФЕКТЫ далее." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Advisory record locking" msgstr "Консультативная (advisory) блокировка" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Linux implements traditional (\"process-associated\") UNIX record locks, as " "standardized by POSIX. For a Linux-specific alternative with better " "semantics, see the discussion of open file description locks below." msgstr "" "В Linux реализована обычная («попроцессная») блокировка UNIX, " "стандартизованная POSIX. Описание Linux-альтернативную блокировку открытых " "файловых описаний с лучшей семантикой смотрите далее." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B, B, and B are used to acquire, release, and " "test for the existence of record locks (also known as byte-range, file-" "segment, or file-region locks). The third argument, I, is a pointer " "to a structure that has at least the following fields (in unspecified order)." msgstr "" "Команды B, B и B используются для установки, " "снятия и тестирования существования блокировок записей (также известных как " "блокировки байтового диапазона, сегмента или области файла). Третий " "аргумент, I, является указателем на структуру, которая имеет, по " "крайней мере, следующие поля (в произвольном порядке):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct flock {\n" " ...\n" " short l_type; /* Type of lock: F_RDLCK,\n" " F_WRLCK, F_UNLCK */\n" " short l_whence; /* How to interpret l_start:\n" " SEEK_SET, SEEK_CUR, SEEK_END */\n" " off_t l_start; /* Starting offset for lock */\n" " off_t l_len; /* Number of bytes to lock */\n" " pid_t l_pid; /* PID of process blocking our lock\n" " (set by F_GETLK and F_OFD_GETLK) */\n" " ...\n" "};\n" msgstr "" "struct flock {\n" " ...\n" " short l_type; /* Тип блокировки: F_RDLCK,\n" " F_WRLCK, F_UNLCK */\n" " short l_whence; /* Как интерпретировать l_start:\n" " SEEK_SET, SEEK_CUR, SEEK_END */\n" " off_t l_start; /* Начальное смещение блокировки */\n" " off_t l_len; /* Количество блокируемых байт */\n" " pid_t l_pid; /* PID процесса, блокирующего нашу блокировку\n" " (только для F_GETLK и F_OFD_GETLK) */\n" " ...\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I, I, and I fields of this structure specify " "the range of bytes we wish to lock. Bytes past the end of the file may be " "locked, but not bytes before the start of the file." msgstr "" "Поля I, I и I этой структуры задают диапазон байт, " "который мы хотим заблокировать. Могут блокироваться байты за концом файла, " "но не перед началом файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is the starting offset for the lock, and is interpreted relative " "to either: the start of the file (if I is B); the " "current file offset (if I is B); or the end of the file " "(if I is B). In the final two cases, I can be " "a negative number provided the offset does not lie before the start of the " "file." msgstr "" "I \\(em это начальное смещение для блокировки, которое " "интерпретируется как начало файла (если значение I равно " "B); как текущая позиция в файле (если значение I равно " "B); как конец файла (если значение I равно B). " "В последних двух случаях, I может иметь отрицательное значение, " "предоставляя смещение, которого не может указать до начала файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I specifies the number of bytes to be locked. If I is " "positive, then the range to be locked covers bytes I up to and " "including I+I-1. Specifying 0 for I has the special " "meaning: lock all bytes starting at the location specified by I " "and I through to the end of file, no matter how large the file " "grows." msgstr "" "В I задаётся количество байт, которые нужно заблокировать. Если " "I положительно, то диапазон блокировки начинается со I и " "кончается I+I-1 включительно. Если в I указан 0, то " "блокируются все байты начиная с места, указанного I и I и " "до конца файла, независимо от величины файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "POSIX.1-2001 allows (but does not require) an implementation to support " #| "a negative I value; if I is negative, the interval " #| "described by I covers bytes I+I up to and including " #| "I-1. This is supported by Linux since kernel versions 2.4.21 " #| "and 2.5.49." msgid "" "POSIX.1-2001 allows (but does not require) an implementation to support a " "negative I value; if I is negative, the interval described by " "I covers bytes I+I up to and including I-1. " "This is supported since Linux 2.4.21 and Linux 2.5.49." msgstr "" "POSIX.1-2001 позволяет (но не требует) реализации поддерживать отрицательное " "значение I; если I отрицательно, то интервал, описываемый " "I, имеет размер I+I до I-1 включительно. Это " "поддерживается в Linux начиная с ядер версии 2.4.21 и 2.5.49." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I field can be used to place a read (B) or a write " "(B) lock on a file. Any number of processes may hold a read lock " "(shared lock) on a file region, but only one process may hold a write lock " "(exclusive lock). An exclusive lock excludes all other locks, both shared " "and exclusive. A single process can hold only one type of lock on a file " "region; if a new lock is applied to an already-locked region, then the " "existing lock is converted to the new lock type. (Such conversions may " "involve splitting, shrinking, or coalescing with an existing lock if the " "byte range specified by the new lock does not precisely coincide with the " "range of the existing lock.)" msgstr "" "Поле I может быть использовано для указания типа блокировки файла: " "чтение (B) или запись (B). Любое количество процессов " "могут удерживать блокировку на чтение (общая блокировка) области файла, но " "только один процесс может удерживать блокировку на запись (эксклюзивная " "блокировка). Эксклюзивная блокировка исключает все другие блокировки, как " "общие так и эксклюзивные. Один процесс может удерживать только один тип " "блокировки области файла; если происходит новая блокировка уже " "заблокированной области, то существующая блокировка преобразуется в новый " "тип блокировки. (Такие преобразования могут привести к разбиению, уменьшению " "или срастанию с существующей блокировкой, если диапазон байт, заданный для " "новой блокировки, неточно совпадает с диапазоном существующей блокировки.)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Acquire a lock (when I is B or B) or release a " "lock (when I is B) on the bytes specified by the " "I, I, and I fields of I. If a conflicting " "lock is held by another process, this call returns -1 and sets I to " "B or B. (The error returned in this case differs across " "implementations, so POSIX requires a portable application to check for both " "errors.)" msgstr "" "Установить блокировку (когда I равен B или B) или " "снять блокировку (когда I равен B) байтов, указанных " "полями I, I и I структуры I. Если " "конфликтующая блокировка удерживается другим процессом, то данный вызов " "вернёт -1 и установит значение I в B или B (ошибка, " "возвращаемая в этом случае, в разных реализациях разная, поэтому в POSIX для " "переносимых приложений требуется проверять оба значения)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As for B, but if a conflicting lock is held on the file, then wait " "for that lock to be released. If a signal is caught while waiting, then the " "call is interrupted and (after the signal handler has returned) returns " "immediately (with return value -1 and I set to B; see " "B(7))." msgstr "" "Как B, но если конфликтующая блокировка удерживается на файле, то " "выполняется ожидание снятия этой блокировки. Если во время ожидания поступил " "сигнал, то данный вызов прерывается и (после возврата из обработчика " "сигнала) из него происходит немедленный возврат (возвращается значение -1 и " "I устанавливается в B; см. B(7))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On input to this call, I describes a lock we would like to place on " "the file. If the lock could be placed, B() does not actually place " "it, but returns B in the I field of I and leaves the " "other fields of the structure unchanged." msgstr "" "При входе в этот вызов, I описывает блокировку, которую мы хотели бы " "установить на файл. Если такая блокировка не может быть установлена, " "B() не устанавливает её, но возвращает B в поле I " "структуры I и оставляет другие поля структуры неизменёнными." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If one or more incompatible locks would prevent this lock being placed, then " "B() returns details about one of those locks in the I, " "I, I, and I fields of I. If the conflicting " "lock is a traditional (process-associated) record lock, then the I " "field is set to the PID of the process holding that lock. If the " "conflicting lock is an open file description lock, then I is set to " "-1. Note that the returned information may already be out of date by the " "time the caller inspects it." msgstr "" "Если одна или более несовместимых блокировок мешают установке этой " "блокировки, то B() возвращает подробности об одной из этих блокировок " "в полях I, I, I и I структуры I. " "Если конфликтующая блокировка является обычной (попроцессной), то в I " "записывается значение PID того процесса, который удерживает блокировку. Если " "конфликтующая блокировка является блокировку открытого файлового описания, в " "I записывается -1. Заметим, что возвращаемая информация может уже " "устареть в момент проверки вызывающим." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In order to place a read lock, I must be open for reading. In order to " "place a write lock, I must be open for writing. To place both types of " "lock, open a file read-write." msgstr "" "Для того, чтобы установить блокировку на чтение, I должен быть открыт на " "чтение. Для того, чтобы установить блокировку на запись, I должен быть " "открыт на запись. Чтобы установить оба типа блокировки, дескриптор должен " "быть открыт на запись и на чтение." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When placing locks with B, the kernel detects I, " "whereby two or more processes have their lock requests mutually blocked by " "locks held by the other processes. For example, suppose process A holds a " "write lock on byte 100 of a file, and process B holds a write lock on byte " "200. If each process then attempts to lock the byte already locked by the " "other process using B, then, without deadlock detection, both " "processes would remain blocked indefinitely. When the kernel detects such " "deadlocks, it causes one of the blocking lock requests to immediately fail " "with the error B; an application that encounters such an error " "should release some of its locks to allow other applications to proceed " "before attempting regain the locks that it requires. Circular deadlocks " "involving more than two processes are also detected. Note, however, that " "there are limitations to the kernel's deadlock-detection algorithm; see BUGS." msgstr "" "При размещении блокировок с помощью B, ядро обнаруживает " "I<взаимные блокировки> (deadlocks), при которых два и более процессов " "создают запросы на блокировку, блокируемые блокировками, удерживаемые " "другими процессами. Например, предположим, что процесс А удерживает " "блокировку на запись файла в байт 100, а процесс Б удерживает блокировку на " "запись в байт 200. Если каждый процесс затем попытается заблокировать байт, " "который уже заблокирован другим процессом с помощью B, то без " "обнаружения взаимных блокировок оба процесса останутся заблокированными " "навсегда. Когда ядро обнаруживает такие взаимные блокировки оно сразу же " "завершает одну из блокирующих блокировок с ошибкой B; приложение, " "встретившее такую ошибку, должно освободить одну из своих блокировок перед " "попыткой восстановить блокировки, которые ему нужны, позволив другому " "приложению продолжить работу. Зацикленные взаимные блокировки обнаруживаются " "и для более двух процессов. Однако заметим, что есть ограничения в алгоритме " "обнаружения взаимных блокировок; смотрите ДЕФЕКТЫ." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As well as being removed by an explicit B, record locks are " "automatically released when the process terminates." msgstr "" "Также как и при снятии блокировки через явное указание B, " "блокировка автоматически снимается, когда процесс завершается." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Record locks are not inherited by a child created via B(2), but are " "preserved across an B(2)." msgstr "" "Блокировки не наследуются потомком, созданным через B(2), но " "сохраняются при вызове B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Because of the buffering performed by the B(3) library, the use of " "record locking with routines in that package should be avoided; use " "B(2) and B(2) instead." msgstr "" "Поскольку буферизация выполняется через библиотеку B(3), " "использование блокировок с функциями в этом пакете нужно избегать; вместо " "этих функций используйте B(2) и B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The record locks described above are associated with the process (unlike the " "open file description locks described below). This has some unfortunate " "consequences:" msgstr "" "Записи о блокировках, описанных выше, связаны с процессом (в отличие от " "блокировках открытых файловых описаний, описанных далее). Это приводит к " "некоторым печальным последствиям:" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. (Additional file descriptors referring to the same file #. may have been obtained by calls to #. .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a process closes I file descriptor referring to a file, then all of " "the process's locks on that file are released, regardless of the file " "descriptor(s) on which the locks were obtained. This is bad: it means that " "a process can lose its locks on a file such as I or I when for some reason a library function decides to open, read, and " "close the same file." msgstr "" "Если процесс закрывает I<любой> файловый дескриптор, ссылающийся на файл, то " "освобождаются все блокировки процесса для этого файла, независимо от " "файлового дескриптора(ов), на который получена блокировка. Это плохо: это " "означает, что процесс может потерять свои блокировки на файл, такой как I или I, когда какой-либо причине библиотечная функция " "решает их открыть, прочитать и закрыть." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The threads in a process share locks. In other words, a multithreaded " "program can't use record locking to ensure that threads don't simultaneously " "access the same region of a file." msgstr "" "Нити процесса совместно используют блокировки процесса. Другими словами " "многонитевая программа не может использовать блокировку для разграничения " "доступа к одной области файла среди нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Open file description locks solve both of these problems." msgstr "Блокировки открытых файловых описаний решают обе эти проблемы." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Open file description locks (non-POSIX)" msgstr "Блокировки открытых файловых описаний (не POSIX)" #. FIXME . Review progress into POSIX #. http://austingroupbugs.net/view.php?id=768 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Open file description locks are advisory byte-range locks whose operation is " "in most respects identical to the traditional record locks described above. " "This lock type is Linux-specific, and available since Linux 3.15. (There is " "a proposal with the Austin Group to include this lock type in the next " "revision of POSIX.1.) For an explanation of open file descriptions, see " "B(2)." msgstr "" "Блокировки открытых файловых описаний являются консультативными блокировками " "диапазона байт, чьё действие почти идентично обычным блокировкам, описанным " "выше. Данный тип блокировок есть только в Linux и доступен с версии 3.15 " "(есть предложение в Austin Group включить данный тип блокировки в следующую " "версию POSIX.1). Описание открытых файловых описаний смотрите в B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The principal difference between the two lock types is that whereas " "traditional record locks are associated with a process, open file " "description locks are associated with the open file description on which " "they are acquired, much like locks acquired with B(2). Consequently " "(and unlike traditional advisory record locks), open file description locks " "are inherited across B(2) (and B(2) with B), and " "are only automatically released on the last close of the open file " "description, instead of being released on any close of the file." msgstr "" "Принципиальное различие между двумя типами блокировок в том, что обычные " "блокировки связаны с процессом, а блокировки открытых файловых описаний " "связаны с открытым файловым описанием, для которого они получены (очень " "похоже на блокировки, получаемые с помощью B(2). В следствие этого (и " "в отличие от обычных консультативных блокировок), блокировки открытых " "файловых описаний наследуются при B(2) (и при B(2) с " "B), и освобождаются только автоматически при последнем закрытии " "открытого файлового описания, а не при любом закрытии файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Conflicting lock combinations (i.e., a read lock and a write lock or two " "write locks) where one lock is an open file description lock and the other " "is a traditional record lock conflict even when they are acquired by the " "same process on the same file descriptor." msgstr "" "Конфликт комбинаций блокировок (блокировка чтения и блокировка записи или " "две блокировки записи), при котором одна блокировка — открытое файловое " "описание, а другая — обычная блокировка, конфликтуют даже когда они " "запрашиваются одним процессом для одного и того же файлового дескриптора." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Open file description locks placed via the same open file description (i.e., " "via the same file descriptor, or via a duplicate of the file descriptor " "created by B(2), B(2), B() B, and so on) are " "always compatible: if a new lock is placed on an already locked region, then " "the existing lock is converted to the new lock type. (Such conversions may " "result in splitting, shrinking, or coalescing with an existing lock as " "discussed above.)" msgstr "" "Блокировки открытых файловых описаний, полученные для одного и того же " "файлового описания (т. е., для одного и того же файлового дескриптора или " "его копии, созданной в результате B(2), B(2), B() " "B и т. п.), всегда совместимы: если новая блокировка помещается на " "уже заблокированную область, то существующая блокировка преобразуется в " "блокировку нового типа (такие преобразования могут приводить к разделению, " "сокращению или объединению существующей блокировки, как описывалось ранее)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On the other hand, open file description locks may conflict with each other " "when they are acquired via different open file descriptions. Thus, the " "threads in a multithreaded program can use open file description locks to " "synchronize access to a file region by having each thread perform its own " "B(2) on the file and applying locks via the resulting file descriptor." msgstr "" "С другой стороны, блокировки открытых файловых описаний могут конфликтовать " "друг с другом, когда они запрашиваются через разные открытые файловые " "описания. То есть, нити в многонитевых программах могут использовать " "блокировки открытых файловых описаний для синхронизации доступа к области " "файла, если каждая нить выполняет отдельный вызов B(2) на файл и " "применяет блокировки для получаемого файлового дескриптора." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As with traditional advisory locks, the third argument to B(), " "I, is a pointer to an I structure. By contrast with " "traditional record locks, the I field of that structure must be set " "to zero when using the commands described below." msgstr "" "Как и у обычных блокировок, третий аргумент B(), I, является " "указателем на структуру I. Но в отличие от обычных блокировок при " "использовании команд, описанных далее, поле I этой структуры должно " "иметь значение 0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The commands for working with open file description locks are analogous to " "those used with traditional locks:" msgstr "" "Команды для работы с блокировками открытых файловых описаний аналогичны " "используемым для обычных блокировок:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Acquire an open file description lock (when I is B or " "B) or release an open file description lock (when I is " "B) on the bytes specified by the I, I, and " "I fields of I. If a conflicting lock is held by another " "process, this call returns -1 and sets I to B." msgstr "" "Установить блокировку открытого файлового описания (когда I равен " "B или B) или снять блокировку открытого файлового описания " "(когда I равен B) байтов, указанных полями I, " "I и I структуры I. Если конфликтующая блокировка " "удерживается другим процессом, то данный вызов вернёт -1 и установит " "значение I в B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As for B, but if a conflicting lock is held on the file, then " "wait for that lock to be released. If a signal is caught while waiting, " "then the call is interrupted and (after the signal handler has returned) " "returns immediately (with return value -1 and I set to B; see " "B(7))." msgstr "" "Как B, но если конфликтующая блокировка удерживается на файле, " "то выполняется ожидание снятия этой блокировки. Если во время ожидания " "поступил сигнал, то данный вызов прерывается и (после возврата из " "обработчика сигнала) из него происходит немедленный возврат (возвращается " "значение -1 и I устанавливается в B; см. B(7))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On input to this call, I describes an open file description lock we " "would like to place on the file. If the lock could be placed, B() " "does not actually place it, but returns B in the I field of " "I and leaves the other fields of the structure unchanged. If one or " "more incompatible locks would prevent this lock being placed, then details " "about one of these locks are returned via I, as described above for " "B." msgstr "" "В начала данного вызова значение I описывает блокировку открытого " "файлового описания, которую мы бы хотели создать на файле. Если блокировка " "возможна, то в действительности B() её не создаёт, а возвращает " "B в поле I у I, оставляя остальные поля неизменными. " "Если есть одна или более несовместимых блокировок, препятствующих получению, " "то в I возвращается подробная информация об этих блокировках, как " "описывалось выше для B." #. commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the current implementation, no deadlock detection is performed for open " "file description locks. (This contrasts with process-associated record " "locks, for which the kernel does perform deadlock detection.)" msgstr "" "В текущей реализации для блокировок открытых файловых описаний обнаружение " "взаимных блокировок не выполняется (в этом отличие от попроцессных " "блокировок, для которых ядро выполняет обнаружение взаимных блокировок)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Mandatory locking" msgstr "Обязательная (mandatory) блокировка" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "I: the Linux implementation of mandatory locking is unreliable. " #| "See BUGS below. Because of these bugs, and the fact that the feature is " #| "believed to be little used, since Linux 4.5, mandatory locking has been " #| "made an optional feature, governed by a configuration option " #| "(B). This is an initial step toward " #| "removing this feature completely." msgid "" "I: the Linux implementation of mandatory locking is unreliable. " "See BUGS below. Because of these bugs, and the fact that the feature is " "believed to be little used, since Linux 4.5, mandatory locking has been made " "an optional feature, governed by a configuration option " "(B). This feature is no longer supported at " "all in Linux 5.15 and above." msgstr "" "I<Предупреждение>: реализация Linux обязательного блокирования ненадёжна. " "Смотрите раздел ДЕФЕКТЫ далее. Из-за этих дефектов и того факта, что это " "свойство, вероятно, мало где будет использоваться, начиная с Linux 4.5 " "обязательная блокировка был сделана необязательной, и включается параметром " "настройки (B). Это первый шаг последующего " "полного удаления данного свойства." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, both traditional (process-associated) and open file description " "record locks are advisory. Advisory locks are not enforced and are useful " "only between cooperating processes." msgstr "" "По умолчанию, обычные (связанные с процессом) блокировки и блокировки " "открытого файлового описания являются консультативными. Консультативные " "блокировки не обязательны к выполнению и полезны только в сотрудничающих " "процессах." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Both lock types can also be mandatory. Mandatory locks are enforced for all " "processes. If a process tries to perform an incompatible access (e.g., " "B(2) or B(2)) on a file region that has an incompatible " "mandatory lock, then the result depends upon whether the B flag " "is enabled for its open file description. If the B flag is not " "enabled, then the system call is blocked until the lock is removed or " "converted to a mode that is compatible with the access. If the " "B flag is enabled, then the system call fails with the error " "B." msgstr "" "Оба типа блокировки могут быть также обязательными. Если процесс пытается " "получить несовместимый доступ (например, B(2) и B(2)) к области " "файла, на которую установлена несовместимая обязательная блокировка, то " "результат зависит от состояния флага B в описании этого " "открытого файла. Если флаг B не установлен, то системный вызов " "блокируется до удаления блокировки или преобразуется в режим, который " "совместим с доступом. Если флаг B установлен, то системный вызов " "завершается с ошибкой B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To make use of mandatory locks, mandatory locking must be enabled both on " "the filesystem that contains the file to be locked, and on the file itself. " "Mandatory locking is enabled on a filesystem using the \"-o mand\" option to " "B(8), or the B flag for B(2). Mandatory locking " "is enabled on a file by disabling group execute permission on the file and " "enabling the set-group-ID permission bit (see B(1) and B(2))." msgstr "" "Чтобы использовать обязательные блокировки, обязательное блокирование должно " "быть включено в файловой системе, содержащей файл, и на самом файле. " "Обязательное блокирование включается в файловой системе с помощью параметра " "«-o mand» команды B(8) или с помощью флага B в " "B(2). Обязательное блокирование включается на файле посредством " "отключения права исполнения группе и установкой бита set-group-ID (см. " "B(1) и B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mandatory locking is not specified by POSIX. Some other systems also " "support mandatory locking, although the details of how to enable it vary " "across systems." msgstr "" "Обязательная блокировка не описана в POSIX. В некоторых других системах " "обязательная блокировка также поддерживается, хотя процесс её создания " "различен." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Lost locks" msgstr "Потерянные блокировки" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When an advisory lock is obtained on a networked filesystem such as NFS it " "is possible that the lock might get lost. This may happen due to " "administrative action on the server, or due to a network partition (i.e., " "loss of network connectivity with the server) which lasts long enough for " "the server to assume that the client is no longer functioning." msgstr "" "При получении консультативной блокировки на сетевой файловой системе, " "например NFS, возможна её потеря. Это может случиться из-за " "административного действия или сетевой проблемы (т. е., потеря связи с " "сервером), которая длится достаточно долго для того, чтобы сервер посчитал " "клиента за неработающего." #. commit ef1820f9be27b6ad158f433ab38002ab8131db4d #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the filesystem determines that a lock has been lost, future B(2) " "or B(2) requests may fail with the error B. This error will " "persist until the lock is removed or the file descriptor is closed. Since " "Linux 3.12, this happens at least for NFSv4 (including all minor versions)." msgstr "" "Когда файловая система определяет, что блокировка потеряна, последующие " "запросы B(2) или B(2) могут завершиться ошибкой B. Эта " "ошибка будет повторяться до тех пор, пока блокировка не удалится или не " "закроется файловый дескриптор. Начиная с Linux 3.12, так работает, по " "крайней мере, NFSv4 (включая все предыдущие версии)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some versions of UNIX send a signal (B) in this circumstance. " "Linux does not define this signal, and does not provide any asynchronous " "notification of lost locks." msgstr "" "Некоторые версии UNIX при таких обстоятельствах посылают сигнал " "(B). В Linux такой сигнал не определён и не существует какого-либо " "асинхронного уведомления о потере блокировки." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Managing signals" msgstr "Управление сигналами" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B, B, B, B, B, and " "B are used to manage I/O availability signals:" msgstr "" "Для управления сигналами доступности ввода/вывода используются команды " "B, B, B, B, B и " "B:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Return (as the function result) the process ID or process group " #| "currently receiving B and B signals for events on file " #| "descriptor I. Process IDs are returned as positive values; process " #| "group IDs are returned as negative values (but see BUGS below). I " #| "is ignored." msgid "" "Return (as the function result) the process ID or process group ID " "currently receiving B and B signals for events on file " "descriptor I. Process IDs are returned as positive values; process " "group IDs are returned as negative values (but see BUGS below). I is " "ignored." msgstr "" "Получить (как результат работы функции) идентификатор процесса или группы " "процесса, который в текущий момент принимает сигналы B и B " "для событий на файловом дескрипторе I. Идентификатор процесса " "возвращается как положительное число; идентификатор группы возвращается как " "отрицательное число (но см. раздел ДЕФЕКТЫ далее). Аргумент I " "игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set the process ID or process group ID that will receive B and " "B signals for events on the file descriptor I. The target " "process or process group ID is specified in I. A process ID is " "specified as a positive value; a process group ID is specified as a negative " "value. Most commonly, the calling process specifies itself as the owner " "(that is, I is specified as B(2))." msgstr "" "Установить идентификатор процесса или группы процесса, которые будут " "принимать сигналы B и B для событий на файловом дескрипторе " "I. Идентификатор целевого процесса или группы процессов задаётся в " "аргументе I. Идентификатор процесса задаётся положительным числом, " "идентификатор группы задаётся отрицательным числом. Обычно, вызывающий " "процесс указывает самого себя в качестве владельца (то есть в I " "указывается результат B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As well as setting the file descriptor owner, one must also enable " "generation of signals on the file descriptor. This is done by using the " "B() B command to set the B file status flag on the " "file descriptor. Subsequently, a B signal is sent whenever input or " "output becomes possible on the file descriptor. The B() B " "command can be used to obtain delivery of a signal other than B." msgstr "" "Помимо установки владельца дескриптора файла, также нужно включить генерацию " "сигналов для файлового дескриптора. Это делается посредством установки флага " "состояния B в файловом дескрипторе с помощью B() с командой " "B. После этого сигнал B посылается всякий раз, когда для " "данного файлового дескриптора становится возможным ввод или вывод. Для " "включения доставки сигнала, отличного от B, можно использовать " "команду B вызова B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Sending a signal to the owner process (group) specified by B is " "subject to the same permissions checks as are described for B(2), " "where the sending process is the one that employs B (but see BUGS " "below). If this permission check fails, then the signal is silently " "discarded. I: The B operation records the caller's " "credentials at the time of the B() call, and it is these saved " "credentials that are used for the permission checks." msgstr "" "Отправка сигнала процессу-владельцу (группе), указанному с помощью " "B — такая же проверка прав, как описано в B(2), где " "посылающий процесс один из тех, который может пользоваться B (но " "смотрите раздел ДЕФЕКТЫ далее). Если проверка не проходит, то сигнал просто " "отбрасывается. I<Замечание>: операция B сохраняет мандаты " "вызывающего на момент вызова B(), и эти сохранённые мандаты затем " "используются при проверке прав." #. The following appears to be rubbish. It doesn't seem to #. be true according to the kernel source, and I can write #. a program that gets a terminal-generated SIGIO even though #. it is not the foreground process group of the terminal. #. -- MTK, 8 Apr 05 #. If the file descriptor #. .I fd #. refers to a terminal device, then SIGIO #. signals are sent to the foreground process group of the terminal. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the file descriptor I refers to a socket, B also selects " "the recipient of B signals that are delivered when out-of-band data " "arrives on that socket. (B is sent in any situation where " "B(2) говорит, что сокет " "находится в состоянии \"исключительной ситуации\".)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The following was true in 2.6.x kernels up to and including kernel 2.6.11:" msgid "The following was true in Linux 2.6.x up to and including Linux 2.6.11:" msgstr "Следующее верно для ядер 2.6.x, до 2.6.11 включительно:" #. The relevant place in the (2.6) kernel source is the #. 'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005 #. send_sigurg()/send_sigurg_to_task() bypasses #. kill_fasync()/send_sigio()/send_sigio_to_task() #. to directly call send_group_sig_info() #. -- MTK, Apr 2005 (kernel 2.6.11) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a nonzero value is given to B in a multithreaded process " "running with a threading library that supports thread groups (e.g., NPTL), " "then a positive value given to B has a different meaning: instead " "of being a process ID identifying a whole process, it is a thread ID " "identifying a specific thread within a process. Consequently, it may be " "necessary to pass B the result of B(2) instead of " "B(2) to get sensible results when B is used. (In current " "Linux threading implementations, a main thread's thread ID is the same as " "its process ID. This means that a single-threaded program can equally use " "B(2) or B(2) in this scenario.) Note, however, that the " "statements in this paragraph do not apply to the B signal generated " "for out-of-band data on a socket: this signal is always sent to either a " "process or a process group, depending on the value given to B." msgstr "" "Если для B передаётся ненулевое значение в многонитевой процесс, " "работающий с библиотекой нитей (например, NPTL), которая обеспечивает " "поддержку групп нитей, то положительное значение, переданное B, " "имеет другой смысл: вместо указания ID процесса, описывающего весь процесс, " "она является ID нити, указывающим на определённую нить процесса. Поэтому " "может понадобиться передать в B результат B(2), а не " "B(2), чтобы получить правильный результат при использовании " "B. (В имеющихся реализациях Linux ID главной нити совпадает с ID " "процесса. Это означает, что в программе с одной нитью можно использовать " "любой вызов, B(2) или B(2), в этом случае.) Однако заметим, " "что утверждения этого абзаца не применимы к сигналу B, генерируемому " "для внеполосных данных сокета: этот сигнал всегда посылается или процессу " "или группе процессов, в зависимости от значения, указанного для B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The above behavior was accidentally dropped in Linux 2.6.12, and won't be " "restored. From Linux 2.6.32 onward, use B to target B " "and B signals at a particular thread." msgstr "" "Описанное выше поведение было случайно удалено из Linux 2.6.12, и так и не " "восстановлено. Начиная с Linux 2.6.32 используйте B при " "назначении сигналов B и B для определённой нити." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I) (since Linux 2.6.32)" msgstr "B (I) (начиная с Linux 2.6.32)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return the current file descriptor owner settings as defined by a previous " "B operation. The information is returned in the structure " "pointed to by I, which has the following form:" msgstr "" "Получить настройки владения текущим файловым дескриптором, установленные " "предыдущей командой B. Информация возвращается в структуре, " "указанной в I, которая имеет следующий вид:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct f_owner_ex {\n" " int type;\n" " pid_t pid;\n" "};\n" msgstr "" "struct f_owner_ex {\n" " int type;\n" " pid_t pid;\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I field will have one of the values B, " "B, or B. The I field is a positive integer " "representing a thread ID, process ID, or process group ID. See " "B for more details." msgstr "" "Поле I будет равно: B, B или " "B. Значением поля I будет положительное целое, " "представляющее ID нити, ID процесса или ID группы процессов. Подробности " "смотрите в описании B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I) (since Linux 2.6.32)" msgstr "B (I) (начиная с Linux 2.6.32)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This operation performs a similar task to B. It allows the caller " "to direct I/O availability signals to a specific thread, process, or process " "group. The caller specifies the target of signals via I, which is a " "pointer to a I structure. The I field has one of the " "following values, which define how I is interpreted:" msgstr "" "Эта команда выполняет задачу, подобную B. Она позволяет " "вызывающему назначить сигналы доступности ввода-вывода определённой нити, " "процессу или группе процессов. Вызывающий указывает приёмник сигналов в " "I, выражаемый указателем на структуру I. Поле I имеет " "одно из следующих значений, которое определяет чем считать I:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Send the signal to the thread whose thread ID (the value returned by a call " "to B(2) or B(2)) is specified in I." msgstr "" "Посылать сигнал нити, чей ID (значение, возвращаемое вызовом B(2) или " "B(2)) указан в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Send the signal to the process whose ID is specified in I." msgstr "Посылать сигнал процессу, чей ID указан в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Send the signal to the process group whose ID is specified in I. (Note " "that, unlike with B, a process group ID is specified as a positive " "value here.)" msgstr "" "Посылать сигнал группе процессов, чей ID указан в I. (Заметим, что в " "отличие от B, ID группы процессов здесь задаётся как положительное " "значение.)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return (as the function result) the signal sent when input or output " "becomes possible. A value of zero means B is sent. Any other value " "(including B) is the signal sent instead, and in this case " "additional info is available to the signal handler if installed with " "B. I is ignored." msgstr "" "Получить (как результат функции) сигнал, посылаемый, когда становится " "возможным ввод или вывод. Значение 0 означает сигнал B. Любое другое " "значение (включая B) является другим сигналом, и в этом случае для " "обработчика сигнала доступна дополнительная информация, если он был " "установлен с B. Аргумент I игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. The following was true only up until Linux 2.6.11: #. Additionally, passing a nonzero value to #. .B F_SETSIG #. changes the signal recipient from a whole process to a specific thread #. within a process. #. See the description of #. .B F_SETOWN #. for more details. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set the signal sent when input or output becomes possible to the value given " "in I. A value of zero means to send the default B signal. Any " "other value (including B) is the signal to send instead, and in this " "case additional info is available to the signal handler if installed with " "B." msgstr "" "Установить сигнал, который будет посылаться когда станет возможен ввод или " "вывод, в значение, указанное в I. Значение 0 означает сигнал по " "умолчанию B. Любое другое значение (включая B) является другим " "сигналом, и в этом случае, для обработчика сигнала доступна дополнительная " "информация, если он был установлен с B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By using B with a nonzero value, and setting B for the " "signal handler (see B(2)), extra information about I/O events is " "passed to the handler in a I structure. If the I field " "indicates the source is B, the I field gives the file " "descriptor associated with the event. Otherwise, there is no indication " "which file descriptors are pending, and you should use the usual mechanisms " "(B(2), B(2), B(2) с " "установленным B и т.д.), чтобы определить какой файловый " "дескриптор доступен для ввода/вывода." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that the file descriptor provided in I is the one that was " "specified during the B operation. This can lead to an unusual " "corner case. If the file descriptor is duplicated (B(2) or similar), " "and the original file descriptor is closed, then I/O events will continue to " "be generated, but the I field will contain the number of the now " "closed file descriptor." msgstr "" "Заметим, что файловый дескриптор, предоставляемый в I, тот же, что " "указывался при операции B. Это может привести к редкой тупиковой " "ситуации. Если с файлового дескриптора делался дубль (B(2) или подобным " "вызовом), и оригинальный файловый дескриптор закрыт, то события ввода-вывода " "будут продолжать генерироваться, но поле I будет содержать номер " "теперь уже закрытого файлового дескриптора." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By selecting a real time signal (value E= B), multiple I/O " "events may be queued using the same signal numbers. (Queuing is dependent " "on available memory.) Extra information is available if B is " "set for the signal handler, as above." msgstr "" "При выборе сигнала реального времени (значение E= B) в очередь " "может добавляться несколько событий ввода-вывода с одинаковыми номерами " "сигналов (размер очереди зависит от доступной памяти). Дополнительная " "информация будет доступна как описано выше, если для обработчика сигнала " "будет установлено B." #. See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that Linux imposes a limit on the number of real-time signals that may " "be queued to a process (see B(2) and B(7)) and if this " "limit is reached, then the kernel reverts to delivering B, and this " "signal is delivered to the entire process rather than to a specific thread." msgstr "" "Заметим, что в Linux есть предел на количество сигналов реального времени, " "которые могут находиться в очереди процесса (см. B(2) и " "B(7)), и если этот предел достигнут, то ядро изменяет пункт доставки " "B, и этот сигнал доставляется всему процессу, а не указанной нити." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using these mechanisms, a program can implement fully asynchronous I/O " "without using B(2) или B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The use of B is specific to BSD and Linux. The only use of " #| "B and B specified in POSIX.1 is in conjunction with " #| "the use of the B signal on sockets. (POSIX does not specify the " #| "B signal.) B, B, B, and " #| "B are Linux-specific. POSIX has asynchronous I/O and the " #| "I structure to achieve similar things; these are also " #| "available in Linux as part of the GNU C Library (Glibc)." msgid "" "The use of B is specific to BSD and Linux. The only use of " "B and B specified in POSIX.1 is in conjunction with the " "use of the B signal on sockets. (POSIX does not specify the " "B signal.) B, B, B, and " "B are Linux-specific. POSIX has asynchronous I/O and the " "I structure to achieve similar things; these are also " "available in Linux as part of the GNU C Library (glibc)." msgstr "" "Использование B, является специфичным для BSD и Linux. В POSIX.1 " "описано только использование B и B вместе с сигналом " "B для сокетов (в POSIX не определён сигнал B). " "B, B, B, and B есть только в " "Linux. В POSIX описан асинхронный ввод-вывод и структура I, " "используемая для сходных действий; они также доступны в Linux как часть " "библиотеки GNU C (Glibc)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Leases" msgstr "Аренда" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B and B (Linux 2.4 onward) are used to establish a " "new lease, and retrieve the current lease, on the open file description " "referred to by the file descriptor I. A file lease provides a mechanism " "whereby the process holding the lease (the \"lease holder\") is notified " "(via delivery of a signal) when a process (the \"lease breaker\") tries to " "B(2) or B(2) the file referred to by that file descriptor." msgstr "" "Команды B и B (в Linux 2.4 и выше) используются для " "установки новой и получения текущей аренды открытого описания файла, на " "который указывает файловый дескриптор I. Аренда файла предоставляет " "механизм, посредством которого процесс, который удерживает аренду " "(«арендатор»), уведомляется (отправкой сигнала), когда процесс («нарушитель " "аренды») пытается выполнить вызов B(2) или B(2) на файл, " "указанный в этом файловом дескрипторе." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set or remove a file lease according to which of the following values is " "specified in the integer I:" msgstr "" "Установить или удалить аренду файла, в соответствии со значениями, " "указываемыми в I:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. The following became true in Linux 2.6.10: #. See the man-pages-2.09 Changelog for further info. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Take out a read lease. This will cause the calling process to be notified " "when the file is opened for writing or is truncated. A read lease can be " "placed only on a file descriptor that is opened read-only." msgstr "" "Установить аренду чтения. Это приведёт к генерации уведомления вызывающего " "процесса, когда файл открывается для записи или усечения. Аренда чтения " "может быть выделена только на файловый дескриптор, открытый только на чтение." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Take out a write lease. This will cause the caller to be notified when the " "file is opened for reading or writing or is truncated. A write lease may be " "placed on a file only if there are no other open file descriptors for the " "file." msgstr "" "Установить аренду записи. Это приведёт к генерации уведомления вызывающего " "процесса, когда файл открывается для чтения или записи или выполняется его " "усечение. Аренда записи может быть установлена на файл, только если этот " "файл не имеет других открытых файловых дескрипторов." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Remove our lease from the file." msgstr "Удалить аренду с указанного файла." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Leases are associated with an open file description (see B(2)). This " "means that duplicate file descriptors (created by, for example, B(2) " "or B(2)) refer to the same lease, and this lease may be modified or " "released using any of these descriptors. Furthermore, the lease is released " "by either an explicit B operation on any of these duplicate file " "descriptors, or when all such file descriptors have been closed." msgstr "" "Аренды ассоциируются с открытым файловым описанием (см. B(2)). Это " "значит, что дублированные файловые дескрипторы (созданные, например, " "B(2) или B(2)) указывают на одну и ту же аренду, и эта аренда " "может изменяться или освобождаться через любой из этих дескрипторов. Более " "того, аренда освобождается или через явную команду B на любом из " "этих дублированных файловых дескрипторов, или когда все эти файловые " "дескрипторы будут закрыты." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Leases may be taken out only on regular files. An unprivileged process may " "take out a lease only on a file whose UID (owner) matches the filesystem UID " "of the process. A process with the B capability may take out " "leases on arbitrary files." msgstr "" "Аренды могут быть выданы только на обычные файлы. Непривилегированный " "процесс может получить аренду только на файл, чей UID (владельца) совпадает " "с UID на файловой системе процесса. Процесс с мандатом B может " "получить аренду на любые файлы." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Indicates what type of lease is associated with the file descriptor I by " "returning either B, B, or B, indicating, " "respectively, a read lease , a write lease, or no lease. I is ignored." msgstr "" "Узнать какой тип аренды ассоциирован с файловым дескриптором I; " "возвращается одно из значений B, B или B, " "соответственно означающих аренду на чтение, запись или что аренды нет. " "Аргумент I игнорируется." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When a process (the \"lease breaker\") performs an B(2) or " "B(2) that conflicts with a lease established via B, " "the system call is blocked by the kernel and the kernel notifies the lease " "holder by sending it a signal (B by default). The lease holder " "should respond to receipt of this signal by doing whatever cleanup is " "required in preparation for the file to be accessed by another process (e." "g., flushing cached buffers) and then either remove or downgrade its lease. " "A lease is removed by performing an B command specifying I " "as B. If the lease holder currently holds a write lease on the " "file, and the lease breaker is opening the file for reading, then it is " "sufficient for the lease holder to downgrade the lease to a read lease. " "This is done by performing an B command specifying I as " "B." msgstr "" "Когда процесс («нарушителя аренды») выполняет вызов B(2) или " "B(2), который конфликтует с арендой, установленной через " "B, то системный вызов блокируется ядром и ядро уведомляет " "арендатора сигналом (по умолчанию B). Арендатор должен при получении " "этого сигнала выполнить все необходимые действия по очистке для подготовки " "этого файла к использованию другим процессом (например, сбросить буферы " "кэша) и затем удалить или снизить условия аренды. Аренда удаляется по " "команде B с аргументом I, установленным в B. Если " "арендатор удерживает аренду на запись в файл, и нарушитель аренды открывает " "файл на чтение, то достаточно того, что арендатор понизит условия аренды до " "аренды на чтение. Это выполняется командой B с аргументом " "I, установленным в B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the lease holder fails to downgrade or remove the lease within the number " "of seconds specified in I, then the kernel " "forcibly removes or downgrades the lease holder's lease." msgstr "" "Если арендатор не освободит аренду или не снизит условия в течении " "определённого количества секунд, указанного в файле I, то ядро принудительно удалит или снизит условия аренды для " "арендатора." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Once a lease break has been initiated, B returns the target " "lease type (either B or B, depending on what would be " "compatible with the lease breaker) until the lease holder voluntarily " "downgrades or removes the lease or the kernel forcibly does so after the " "lease break timer expires." msgstr "" "После того, как был начат разрыв аренды, B возвращает тип " "назначения аренды (или B или B, в зависимости от " "необходимости совместимости с нарушителем аренды) до тех пор, пока держатель " "аренды добровольно не отдаст или не удалит аренду или ядро принудительно не " "сделает это после истечения таймера разрыва аренды." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Once the lease has been voluntarily or forcibly removed or downgraded, and " "assuming the lease breaker has not unblocked its system call, the kernel " "permits the lease breaker's system call to proceed." msgstr "" "После того как аренда снята держателем аренды или принудительно удалена и " "снижены условия, и предполагая, что нарушитель аренды не выполнял " "неблокирующий системный вызов, ядро позволяет продолжить работу системного " "вызова нарушителя аренды." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the lease breaker's blocked B(2) or B(2) is interrupted " "by a signal handler, then the system call fails with the error B, but " "the other steps still occur as described above. If the lease breaker is " "killed by a signal while blocked in B(2) or B(2), then the " "other steps still occur as described above. If the lease breaker specifies " "the B flag when calling B(2), then the call immediately " "fails with the error B, but the other steps still occur as " "described above." msgstr "" "Если нарушитель аренды, заблокированный в B(2) или B(2), " "прерывается обработчиком сигнала, то системный вызов завершается неудачно с " "ошибкой B, но другие шаги по-прежнему выполняются как описано ранее. " "Если нарушитель аренды завершается по сигналу будучи блокированным в " "B(2) или B(2), то другие шаги по-прежнему выполняются как " "описано ранее. Если нарушитель аренды указал флаг B при вызове " "B(2), то вызов немедленно завершается неудачей с ошибкой " "B, но другие шаги по-прежнему выполняются как описано ранее. " #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The default signal used to notify the lease holder is B, but this can " "be changed using the B command to B(). If a B " "command is performed (even one specifying B), and the signal handler " "is established using B, then the handler will receive a " "I structure as its second argument, and the I field of " "this argument will hold the file descriptor of the leased file that has been " "accessed by another process. (This is useful if the caller holds leases " "against multiple files.)" msgstr "" "По умолчанию, для уведомления арендатора используется сигнал B, но " "его можно изменить, используя команду B для B(). Если " "выполняется команда B (даже назначая сигнал B), и при этом " "обработчик сигнала устанавливается с использованием B, то " "обработчик получит в качестве второго аргумента структуру I, в " "которой поле I будет содержать файловый дескриптор арендованного " "файла, к которому пытается получить доступ другой процесс (это полезно, если " "вызывающий процесс удерживает аренду на несколько файлов)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File and directory change notification (dnotify)" msgstr "Уведомления об изменении файла и каталога (dnotify)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I)" msgstr "B (I)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(Linux 2.4 onward) Provide notification when the directory referred to by " "I or any of the files that it contains is changed. The events to be " "notified are specified in I, which is a bit mask specified by ORing " "together zero or more of the following bits:" msgstr "" "(Начиная с Linux 2.4) Уведомлять при смене каталога, на который указывает " "I или когда изменились файлы, которые в нём содержатся. События, о " "наступлении которых делается уведомление, задаются в аргументе I, " "который является битовой маской, получаемой сложением (OR) одного или более " "следующих бит:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A file was accessed (B(2), B(2), B(2), and similar)" msgstr "" "Был произведён доступ к файлу (B(2), B(2), B(2) и " "подобные)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file was modified (B(2), B(2), B(2), " "B(2), B(2), and similar)." msgstr "" "Файл был изменён (B(2), B(2), B(2), B(2), " "B(2) и подобные)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file was created (B(2), B(2), B(2), B(2), " "B(2), B(2), B(2) into this directory)." msgstr "" "Файл был создан (B(2), B(2), B(2), B(2), " "B(2), B(2), B(2) в этом каталоге)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file was unlinked (B(2), B(2) to another directory, " "B(2))." msgstr "" "Файл был удалён (B(2), B(2) в другой каталог, B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A file was renamed within this directory (B(2))." msgstr "Файл был переименован внутри каталога (B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The attributes of a file were changed (B(2), B(2), " "B(2), B(2), and similar)." msgstr "" "У файла были изменены атрибуты (B(2), B(2), B(2), " "B(2) и подобные)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro " "must be defined before including I header files.)" msgstr "" "(Чтобы получить эти определения, нужно задать макрос тестирования свойств " "B<_GNU_SOURCE> перед I<всеми> остальными заголовочными файлами.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Directory notifications are normally \"one-shot\", and the application must " "reregister to receive further notifications. Alternatively, if " "B is included in I, then notification will remain in " "effect until explicitly removed." msgstr "" "Уведомления об изменении состояния каталога обычно однократные и приложение " "должно перерегистрировать установку уведомлений, чтобы и дальше получать их. " "Однако, если в аргумент I, добавить B, то уведомления " "будут приходить до тех пор, пока не будут явно отменены." #. The following does seem a poor API-design choice... #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A series of B requests is cumulative, with the events in I " "being added to the set already monitored. To disable notification of all " "events, make an B call specifying I as 0." msgstr "" "Серии запросов B добавляются к событиям в I, которые уже " "установлены. Чтобы выключить уведомления всех событий, выполните вызов " "B, указав 0 в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Notification occurs via delivery of a signal. The default signal is " "B, but this can be changed using the B command to " "B(). (Note that B is one of the nonqueuing standard signals; " "switching to the use of a real-time signal means that multiple notifications " "can be queued to the process.) In the latter case, the signal handler " "receives a I structure as its second argument (if the handler was " "established using B) and the I field of this structure " "contains the file descriptor which generated the notification (useful when " "establishing notification on multiple directories)." msgstr "" "Уведомление происходит посредством доставки сигнала. Сигналом по умолчанию " "является B, но это можно изменить с помощью команды B " "B() (заметим, что B — один из безочерёдных стандартных " "сигналов; переход к использованию сигнала реального времени означает, что " "многократные уведомления могут попасть в очередь процесса). В последнем " "случае, обработчик сигнала принимает структуру I в качестве " "второго аргумента (если обработчик был установлен с помощью B), " "в поле I этой структуры содержится файловый описатель, для которого " "сгенерировано уведомление (полезно при учёте уведомлений из нескольких " "каталогов)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Especially when using B, a real time signal should be used for " "notification, so that multiple notifications can be queued." msgstr "" "Кроме того, когда используется B, для уведомлений должен бы " "быть использован сигнал реального времени, так что множественные уведомления " "могут быть поставлены в очередь." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B New applications should use the I interface (available " #| "since kernel 2.6.13), which provides a much superior interface for " #| "obtaining notifications of filesystem events. See B(7)." msgid "" "B New applications should use the I interface (available " "since Linux 2.6.13), which provides a much superior interface for obtaining " "notifications of filesystem events. See B(7)." msgstr "" "B<ЗАМЕЧАНИЕ:> В новых приложениях нужно использовать интерфейс I " "(доступен начиная с ядра 2.6.13), который предоставляет намного лучший " "интерфейс для получения уведомлений о событиях в файловой системе. Смотрите " "B(7)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Changing the capacity of a pipe" msgstr "Изменение ёмкости канала" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 2.6.35)" msgstr "B (I; начиная с Linux 2.6.35)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Change the capacity of the pipe referred to by I to be at least I " "bytes. An unprivileged process can adjust the pipe capacity to any value " "between the system page size and the limit defined in I (see B(5)). Attempts to set the pipe capacity below the " "page size are silently rounded up to the page size. Attempts by an " "unprivileged process to set the pipe capacity above the limit in I yield the error B; a privileged process " "(B) can override the limit." msgstr "" "Изменяет ёмкость канала, на который указывает I; она становится равной " "не менее I байт. Непривилегированный процесс может задать ёмкость " "канала любого значения, начиная с размера системной страницы до ограничения, " "заданного в I (смотрите B(5)). При задании " "ёмкости меньше размера страницы, она будет без ошибок округлена до размера " "страницы. При задании непривилегированным процессом ёмкости канала больше " "ограничения из I приведёт к ошибке B; " "привилегированный процесс (с B) может превысить это " "ограничение." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When allocating the buffer for the pipe, the kernel may use a capacity " "larger than I, if that is convenient for the implementation. (In the " "current implementation, the allocation is the next higher power-of-two page-" "size multiple of the requested size.) The actual capacity (in bytes) that " "is set is returned as the function result." msgstr "" "При выделении буфера под канал ядро может использовать большую ёмкость чем " "указано в I, если это удобно для реализации (в текущей реализации " "размером выделения является следующий кратный степени двойки размер страницы " "больший запрашиваемого размера). Реальным размером (в байтах) считается " "возвращаемый результат функции." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attempting to set the pipe capacity smaller than the amount of buffer space " "currently used to store data produces the error B." msgstr "" "Попытка задать ёмкость канала меньшую размера буферного пространства, " "используемого в данный момент для хранения данных в канале приводит к ошибке " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that because of the way the pages of the pipe buffer are employed when " "data is written to the pipe, the number of bytes that can be written may be " "less than the nominal size, depending on the size of the writes." msgstr "" "Заметим, что из-за способа использования страниц буфера канала при записи " "данных количество байт, которые могут быть записаны, может быть меньше, чем " "номинальный размер, в зависимости от размера записей." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 2.6.35)" msgstr "B (I; начиная с Linux 2.6.35)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return (as the function result) the capacity of the pipe referred to by " "I." msgstr "Возвращает (как результат функции) ёмкость канала, указываемого I." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File Sealing" msgstr "Опечатывание файла (file sealing)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "File seals limit the set of allowed operations on a given file. For each " "seal that is set on a file, a specific set of operations will fail with " "B on this file from now on. The file is said to be sealed. The " "default set of seals depends on the type of the underlying file and " "filesystem. For an overview of file sealing, a discussion of its purpose, " "and some code examples, see B(2)." msgstr "" "Опечатывание файла позволяет ограничить набор выполняемых над файлом " "операций. Любая операция с файлом, попавшая в набор опечатанных, завершается " "с ошибкой B. Набор печатей по умолчанию зависит от типа файла, к " "которому он применяется и файловой системы. Описание опечатывания файла, " "предназначение и примеры кода смотрите в B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Currently, file seals can be applied only to a file descriptor returned by " "B(2) (if the B was employed). On other " "filesystems, all B() operations that operate on seals will return " "B." msgstr "" "В настоящее время опечатывание файла может применяться к файловому " "дескриптору, возвращаемому B(2) (если был указан " "B). В других файловых системах все операции B(), " "относящиеся к печатям, возвращают B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Seals are a property of an inode. Thus, all open file descriptors referring " "to the same inode share the same set of seals. Furthermore, seals can never " "be removed, only added." msgstr "" "Печати (seals) — свойство inode. То есть все открытые файловые дескрипторы, " "указывающие на один inode, имеют общий набор печатей. Кроме этого, печати " "нельзя удалять, можно только добавлять." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 3.17)" msgstr "B (I; начиная с Linux 3.17)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Add the seals given in the bit-mask argument I to the set of seals of " "the inode referred to by the file descriptor I. Seals cannot be removed " "again. Once this call succeeds, the seals are enforced by the kernel " "immediately. If the current set of seals includes B (see " "below), then this call will be rejected with B. Adding a seal that " "is already set is a no-op, in case B is not set already. In " "order to place a seal, the file descriptor I must be writable." msgstr "" "Добавляет печати из значения битовой маски I в набор печатей inode, на " "которую ссылается файловый дескриптор I. Печати из набора нельзя " "удалить. После успешного выполнения, печати сразу же учитываются ядром. Если " "в текущий набор печатей входит B (смотрите далее), то этот " "вызов завершается с ошибкой B. Добавление уже установленной печати ни " "к чему не приводит, если ещё не указана B. Чтобы разместить " "печать файловый дескриптор I должен быть доступен на запись." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 3.17)" msgstr "B (I; начиная с Linux 3.17)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Return (as the function result) the current set of seals of the inode " "referred to by I. If no seals are set, 0 is returned. If the file does " "not support sealing, -1 is returned and I is set to B." msgstr "" "Возвращает (в виде результата функции) текущий набор печатей inode, на " "которую указывает I. Если печатей нет, возвращается 0. Если файл не " "поддерживает опечатывание, то возвращается -1 и I присваивается " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The following seals are available:" msgstr "Доступны следующие печати:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If this seal is set, any further call to B() with B " "fails with the error B. Therefore, this seal prevents any " "modifications to the set of seals itself. If the initial set of seals of a " "file includes B, then this effectively causes the set of seals " "to be constant and locked." msgstr "" "Если печать установлена, то последующий вызов B() с B " "завершится ошибкой B. Таки образом, данная печать предотвращает " "изменения самого набора печатей. Если начальный набор печатей файла содержит " "B, то он является постоянным и неизменяемым." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If this seal is set, the file in question cannot be reduced in size. This " "affects B(2) with the B flag as well as B(2) and " "B(2). Those calls fail with B if you try to shrink the " "file in question. Increasing the file size is still possible." msgstr "" "Если эта печать установлена, то нельзя уменьшить размер файла. Она влияет на " "B(2) с флагом B, а также на B(2) и B(2). " "Эти вызовы завершаются ошибкой B, если пытаются уменьшить файл. " "Увеличение размера файла по-прежнему возможно." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If this seal is set, the size of the file in question cannot be increased. " "This affects B(2) beyond the end of the file, B(2), " "B(2), and B(2). These calls fail with B if you " "use them to increase the file size. If you keep the size or shrink it, " "those calls still work as expected." msgstr "" "Если эта печать установлена, то нельзя увеличить размер файла. Она влияет на " "B(2) за концом файла, B(2), B(2) и " "B(2). Эти вызовы завершаются ошибкой B, если пытаются " "увеличить файл. Уменьшение размера файла по-прежнему возможно." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. One or more other seals are typically used with F_SEAL_WRITE #. because, given a file with the F_SEAL_WRITE seal set, then, #. while it would no longer be possible to (say) write zeros into #. the last 100 bytes of a file, it would still be possible #. to (say) shrink the file by 100 bytes using ftruncate(), and #. then increase the file size by 100 bytes, which would have #. the effect of replacing the last hundred bytes by zeros. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If this seal is set, you cannot modify the contents of the file. Note that " "shrinking or growing the size of the file is still possible and allowed. " "Thus, this seal is normally used in combination with one of the other " "seals. This seal affects B(2) and B(2) (only in " "combination with the B flag). Those calls fail with " "B if this seal is set. Furthermore, trying to create new shared, " "writable memory-mappings via B(2) will also fail with B." msgstr "" "Если эта печать установлена, то нельзя изменить содержимое файла. Заметим, " "что уменьшение или увеличение файла по-прежнему возможно. То есть данная " "печать, обычно, используется в комбинации с одной из этих печатей. Данная " "печать влияет на B(2) и B(2) (только для флага " "B). Эти вызовы завершаются ошибкой B. Кроме " "этого, попытка создать новое общее, доступное на запись отображение через " "B(2) также завершится ошибкой B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using the B operation to set the B seal fails " "with B if any writable, shared mapping exists. Such mappings must be " "unmapped before you can add this seal. Furthermore, if there are any " "asynchronous I/O operations (B(2)) pending on the file, all " "outstanding writes will be discarded." msgstr "" "Использование операции B для установки B " "завершается ошибкой B, если существует доступное на запись общее " "отображение. Такие отображения должны быть удалены перед добавлением данной " "печати. Кроме этого, если у файла есть асинхронные операции, ожидающие ввода-" "вывода (B(2)), то все отложенные операции записи будут отброшены." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.1)" msgstr "B (начиная с Linux 5.1)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The effect of this seal is similar to B, but the contents of " "the file can still be modified via shared writable mappings that were " "created prior to the seal being set. Any attempt to create a new writable " "mapping on the file via B(2) will fail with B. Likewise, an " "attempt to write to the file via B(2) will fail with B." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using this seal, one process can create a memory buffer that it can continue " "to modify while sharing that buffer on a \"read-only\" basis with other " "processes." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File read/write hints" msgstr "Подсказки чтения/записи файла" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Write lifetime hints can be used to inform the kernel about the relative " "expected lifetime of writes on a given inode or via a particular open file " "description. (See B(2) for an explanation of open file " "descriptions.) In this context, the term \"write lifetime\" means the " "expected time the data will live on media, before being overwritten or " "erased." msgstr "" "Подсказки срока службы записи можно использовать для уведомления ядра об " "относительно ожидаемом сроке службы записи заданной иноды и открытого " "файлового описания (об открытых файловых описаниях читайте в B(2)). В " "этом контексте термин «срок службы записи» (write lifetime) означает " "ожидаемое время, которое будут существовать данные на носителе до их " "перезаписи или стирания." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "An application may use the different hint values specified below to separate " "writes into different write classes, so that multiple users or applications " "running on a single storage back-end can aggregate their I/O patterns in a " "consistent manner. However, there are no functional semantics implied by " "these flags, and different I/O classes can use the write lifetime hints in " "arbitrary ways, so long as the hints are used consistently." msgstr "" "В приложении можно использовать различные значения подсказок, перечисленные " "ниже, для разделения записей на различные классы, чтобы несколько " "пользователей или приложений, работающие на одном аппаратном хранилище могли " "объединить свои шаблоны ввода-вывода в непротиворечивую форму. Однако, для " "флагов не подразумевается какая-то функциональная семантика, и для различных " "классов ввода-вывода можно использовать подсказки срока службы записи " "произвольным образом, пока подсказки не противоречат друг другу." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The following operations can be applied to the file descriptor, I:" msgstr "Следующие операции могут применяться к файловому дескриптору I:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 4.13)" msgstr "B (I; начиная с Linux 4.13)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returns the value of the read/write hint associated with the underlying " "inode referred to by I." msgstr "" "Возвращает значение подсказки чтения/записи, связанной с инодой, на которую " "указывает I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 4.13)" msgstr "B (I; начиная с Linux 4.13)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Sets the read/write hint value associated with the underlying inode referred " "to by I. This hint persists until either it is explicitly modified or " "the underlying filesystem is unmounted." msgstr "" "Изменяет значение подсказки чтения/записи, связанной с инодой, на которую " "указывает I. Данная подсказка действует до тех пор, пока не будет явно " "изменена или не будет размонтирована нижележащая файловая система." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 4.13)" msgstr "B (I; начиная с Linux 4.13)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returns the value of the read/write hint associated with the open file " "description referred to by I." msgstr "" "Возвращает значение подсказки чтения/записи, связанной с открытым файловым " "описанием, на которое указывает I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (I; since Linux 4.13)" msgstr "B (I; начиная с Linux 4.13)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Sets the read/write hint value associated with the open file description " "referred to by I." msgstr "" "Изменяет значение подсказки чтения/записи, связанной с открытым файловым " "описанием, на которое указывает I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If an open file description has not been assigned a read/write hint, then it " "shall use the value assigned to the inode, if any." msgstr "" "Если открытому файловому описанию не была назначена подсказка чтения/записи, " "то будет использоваться значение (если есть), назначенное иноде." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The following read/write hints are valid since Linux 4.13:" msgstr "Начиная с Linux 4.13, действуют следующие подсказки чтения/записи:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "No specific hint has been set. This is the default value." msgstr "Подсказка не задана. Это значение по умолчанию." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "No specific write lifetime is associated with this file or inode." msgstr "Срока службы записи, связанного с этим файлом или инодой, не задано." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Data written to this inode or via this open file description is expected to " "have a short lifetime." msgstr "" "Ожидается, что данные, записанные в эту иноду или через открытое файловое " "описание, будут иметь короткий срок службы." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Data written to this inode or via this open file description is expected to " "have a lifetime longer than data written with B." msgstr "" "Ожидается, что данные, записанные в эту иноду или через открытое файловое " "описание, будут иметь срок службы длиннее, чем данные, записанные с " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Data written to this inode or via this open file description is expected to " "have a lifetime longer than data written with B." msgstr "" "Ожидается, что данные, записанные в эту иноду или через открытое файловое " "описание, будут иметь срок службы длиннее, чем данные, записанные с " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Data written to this inode or via this open file description is expected to " "have a lifetime longer than data written with B." msgstr "" "Ожидается, что данные, записанные в эту иноду или через открытое файловое " "описание, будут иметь срок службы длиннее, чем данные, записанные с " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "All the write-specific hints are relative to each other, and no individual " "absolute meaning should be attributed to them." msgstr "" "Все подсказки записи соотносятся друг с другом и нет отдельного абсолютного " "смысла им предписываемого." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "For a successful call, the return value depends on the operation:" msgstr "" "При успешном выполнении возвращаемое значение зависит от используемой " "команды:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The new file descriptor." msgstr "Новый файловый дескриптор." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Value of file descriptor flags." msgstr "Значение флагов файлового дескриптора." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Value of file status flags." msgstr "Значение флагов состояния файла." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Type of lease held on file descriptor." msgstr "Тип аренды, установленной на файлом дескрипторе." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Value of file descriptor owner." msgstr "Значение, представляющее собой владельца файлового дескриптора." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Value of signal sent when read or write becomes possible, or zero for " "traditional B behavior." msgstr "" "Значение сигнала, посылаемого когда становится возможным чтение или запись " "или ноль для традиционного поведения B." #. type: TP #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: TQ #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The pipe capacity." msgstr "Ёмкость канала." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A bit mask identifying the seals that have been set for the inode referred " "to by I." msgstr "Битовая маска, описывающая печати inode, на которую указывает I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "All other commands" msgstr "Все остальные команды" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Zero." msgstr "Ноль." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "On error, -1 is returned, and I is set to indicate the error." msgstr "" "В случае ошибки возвращается -1, а I устанавливается в значение " "ошибки." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ОШИБКИ" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B or B" msgstr "B или B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Operation is prohibited by locks held by other processes." msgstr "" "Операция запрещена блокировками, которые удерживаются другими процессами." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The operation is prohibited because the file has been memory-mapped by " "another process." msgstr "" "Операция запрещена, потому что файл отображается в память другим процессом." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is not an open file descriptor" msgstr "Значение I не является открытым файловым дескриптором." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B or B and the file descriptor open mode " "doesn't match with the type of lock requested." msgstr "" "Значение I равно B или B, но режим открытия " "файлового дескриптора не совпадает с типом запрошенной блокировки." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B and the new pipe capacity specified in I is " "smaller than the amount of buffer space currently used to store data in the " "pipe." msgstr "" "Значение I равно B и новая ёмкость канала, указанная в " "I, меньше размера буферного пространства, используемого в данный момент " "для хранения данных в канале." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B, I includes B, and there exists " "a writable, shared mapping on the file referred to by I." msgstr "" "Значение I равно B, в I содержится B и " "существует доступное на запись, общее отображение файла, на который " "указывает I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It was detected that the specified B command would cause a " "deadlock." msgstr "" "Было обнаружено, что указанная команда B привела бы к взаимной " "блокировке (deadlock)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is outside your accessible address space." msgstr "" "Значение I находится за пределами доступного адресного пространства." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B or B and the operation was interrupted " "by a signal; see B(7)." msgstr "" "Значение I равно B или B и операция была " "прервана сигналом; смотрите B(7))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B, B, B, or B, and the " "operation was interrupted by a signal before the lock was checked or " "acquired. Most likely when locking a remote file (e.g., locking over NFS), " "but can sometimes happen locally." msgstr "" "Значение I равно B, B, B или " "B и операция была прервана сигналом перед тем как блокировка " "была проверена или установлена. Большинство таких ошибок случается при " "блокировке удалённого файла (например, блокировка через NFS), но иногда " "такое может случаться и с локальным файлом." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The value specified in I is not recognized by this kernel." msgstr "Значение I не распознано ядром." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B and I includes an unrecognized sealing bit." msgstr "" "Значение I равно B и I содержит бит не распознанной " "печати." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B or B and the filesystem containing the " "inode referred to by I does not support sealing." msgstr "" "Значение I равно B или B и файловая система, " "содержащая inode, на которую указывает I, не поддерживает опечатывание." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B and I is negative or is greater than the maximum " "allowable value (see the discussion of B in B(2))." msgstr "" "Значение I равно B и значение I отрицательное или больше " "максимально возможного значения (смотрите описание B в " "B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is B and I is not an allowable signal number." msgstr "" "Значение I равно B и значение I не содержит допустимый " "номер сигнала." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B, B, or B, and I " "was not specified as zero." msgstr "" "Значение I равно B, B или B, но " "значение I не равно нулю." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B and the per-process limit on the number of open file " "descriptors has been reached." msgstr "" "Значение I равно B и было достигнуто ограничение по количеству " "открытых файловых дескрипторов на процесс." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Too many segment locks open, lock table is full, or a remote locking " "protocol failed (e.g., locking over NFS)." msgstr "" "Открыто слишком много блокировок сегментов, таблица блокировок заполнена или " "ошибка протокола удалённой блокировки (например, при блокировке через NFS)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, but I does not refer to a directory." msgstr "Значение I равно B, I не ссылается на каталог." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is B and the soft or hard user pipe limit has been " "reached; see B(7)." msgstr "" "Значение I равно B и достигнуто мягкое или жёсткое " "ограничение канала пользователя; смотрите B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attempted to clear the B flag on a file that has the append-only " "attribute set." msgstr "" "Попытка сбросить флаг B на файле, который открыт с атрибутом " "только для добавления." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I was B, but I was not open for writing or the current " "set of seals on the file already includes B." msgstr "" "Значение I равно B, но I не открыт на запись или " "текущий набор печатей файла уже содержит B." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "СТАНДАРТЫ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. #-#-#-#-# archlinux: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .P #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# debian-bookworm: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .PP #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# debian-unstable: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .PP #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# fedora-40: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .P #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# fedora-rawhide: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .P #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# mageia-cauldron: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .P #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# opensuse-leap-15-6: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .PP #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #. #-#-#-#-# opensuse-tumbleweed: fcntl.2.pot (PACKAGE VERSION) #-#-#-#-# #. .PP #. SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B, B, B, B, " "B, B, B, B, and B are " "Linux-specific. (Define the B<_GNU_SOURCE> macro to obtain these " "definitions.)" msgstr "" "Команды B, B, B, B, " "B, B, B, B и B есть " "только в Linux. Для задействования этих определений определите макрос " "B<_GNU_SOURCE>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B, B, and B are Linux-specific (and " "one must define B<_GNU_SOURCE> to obtain their definitions), but work is " "being done to have them included in the next version of POSIX.1." msgstr "" "Значения B, B и B есть только в " "Linux (и для получения их определений нужно определить B<_GNU_SOURCE>), но " "ведётся работа по их включению в следующую версию POSIX.1." #. FIXME . Once glibc adds support, add a note about FTM requirements #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B and B are Linux-specific." msgstr "Значения B и B есть только в Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "SVr4, 4.3BSD, POSIX.1-2001." msgstr "SVr4, 4.3BSD, POSIX.1-2001." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "SVr4, 4.3BSD, POSIX.1-2001. Only the operations B, B, " #| "B, B, B, B, B, and " #| "B are specified in POSIX.1-2001." msgid "" "Only the operations B, B, B, B, " "B, B, B, and B are specified in " "POSIX.1-2001." msgstr "" "SVr4, 4.3BSD, POSIX.1-2001. В POSIX.1-2001 указаны только команды " "B, B, B, B, B, B, " "B и B." #. .BR _BSD_SOURCE , #. or #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B and B are specified in POSIX.1-2001. (To get their " "definitions, define either B<_XOPEN_SOURCE> with the value 500 or greater, " "or B<_POSIX_C_SOURCE> with the value 200809L or greater.)" msgstr "" "Значения B и B определены в POSIX.1-2001. Для получения " "их определений, определите B<_XOPEN_SOURCE> со значением 500 или больше или " "B<_POSIX_C_SOURCE> со значением 200809L или больше." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B is specified in POSIX.1-2008. (To get this definition, " "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or " "B<_XOPEN_SOURCE> with the value 700 or greater.)" msgstr "" "B указана в POSIX.1-2008. Для получения определения, " "определите B<_POSIX_C_SOURCE> со значением 200809L или больше, или " "B<_XOPEN_SOURCE> со значением 700 или больше." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ЗАМЕЧАНИЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The errors returned by B(2) are different from those returned by " "B." msgstr "" "Ошибки, возвращаемые B(2), отличаются от тех, что возвращаются при " "B." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "File locking" msgstr "Файловая блокировка" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The original Linux B() system call was not designed to handle large " "file offsets (in the I structure). Consequently, an B() " "system call was added in Linux 2.4. The newer system call employs a " "different structure for file locking, I, and corresponding " "commands, B, B, and B. However, these " "details can be ignored by applications using glibc, whose B() " "wrapper function transparently employs the more recent system call where it " "is available." msgstr "" "Первоначальная версия системного вызова B() в Linux не умела работать " "с большими файловыми смещениями (в структуре I). Позднее, в Linux 2.4 " "был добавлен системный вызов B(). Новый системный вызов использует " "другую структуру для блокировки файлов — I и соответствующие " "команды — B, B и B. Однако, это различие " "может игнорироваться приложениями, которые используют glibc, так как " "имеющаяся в ней обёрточная функция B() самостоятельно задействует " "более новый системный вызов, если он доступен." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Record locks" msgstr "Обычные блокировки (Record locks)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Since kernel 2.0, there is no interaction between the types of lock " #| "placed by B(2) and B()." msgid "" "Since Linux 2.0, there is no interaction between the types of lock placed by " "B(2) and B()." msgstr "" "Начиная с ядра 2.0, не существует разницы между типами блокировки, которые " "осуществляют B(2) и B()." #. e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5 #. documents it in fcntl(5). mtk, May 2007 #. Also, FreeBSD documents it (Apr 2014). #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Several systems have more fields in I such as, for example, " "I (to identify the machine where the lock is held). Clearly, " "I alone is not going to be very useful if the process holding the " "lock may live on a different machine; on Linux, while present on some " "architectures (such as MIPS32), this field is not used." msgstr "" "Некоторые системы имеют дополнительные поля в структуре I, " "например, I (признак машины, на которой удерживается блокировка). " "Вообще говоря, один I не очень полезен, если процесс, удерживающий " "блокировку, может работать на другой машине; в Linux, хотя это поле и есть " "на некоторых архитектурах (например, MIPS32), но оно не используется." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Record locking and NFS" msgstr "Блокировка и NFS" #. Neil Brown: With NFSv3 the failure mode is the reverse. If #. the server loses contact with a client then any lock stays in place #. indefinitely ("why can't I read my mail"... I remember it well). #. Jeff Layton: #. Note that this is not a firm timeout. The server runs a job #. periodically to clean out expired stateful objects, and it's likely #. that there is some time (maybe even up to another whole lease period) #. between when the timeout expires and the job actually runs. If the #. client gets a RENEW in there within that window, its lease will be #. renewed and its state preserved. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 3.12, if an NFSv4 client loses contact with the server for a " "period of time (defined as more than 90 seconds with no communication), it " "might lose and regain a lock without ever being aware of the fact. (The " "period of time after which contact is assumed lost is known as the NFSv4 " "leasetime. On a Linux NFS server, this can be determined by looking at I, which expresses the period in seconds. The " "default value for this file is 90.) This scenario potentially risks data " "corruption, since another process might acquire a lock in the intervening " "period and perform file I/O." msgstr "" "До Linux 3.12, если клиент NFSv4 теряет связь с сервером на некоторый период " "времени (более 90 секунд), то он может потерять и перезапросить блокировки " "даже не зная об этом (период времени, после которого контакт предполагается " "потерянным в NFSv4 называется время аренды (leasetime). У Linux в сервере " "NFS его можно узнать по значению в I, которое " "отражает период в секундах. В этом файле значение по умолчанию равно 90). " "Данный сценарий несёт потенциальный риск повреждения данных, так как в этот " "перерыв другой процесс может установить блокировку и выполнить файловый ввод-" "вывод." #. commit ef1820f9be27b6ad158f433ab38002ab8131db4d #. commit f6de7a39c181dfb8a2c534661a53c73afb3081cd #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 3.12, if an NFSv4 client loses contact with the server, any I/O " "to the file by a process which \"thinks\" it holds a lock will fail until " "that process closes and reopens the file. A kernel parameter, I, can be set to 1 to obtain the pre-3.12 behavior, " "whereby the client will attempt to recover lost locks when contact is " "reestablished with the server. Because of the attendant risk of data " "corruption, this parameter defaults to 0 (disabled)." msgstr "" "Начиная с Linux 3.12, если клиент NFSv4 теряет контакт с сервером, то любой " "файловый ввод-вывод, выполняемый процессом, который «думает», что имеет " "блокировку, будет завершаться с ошибкой до тех пор, пока этот процесс не " "закроет и не переоткроет файл. Чтобы вернуть поведение, которое было до " "версии pre-3.12, можно параметру ядра I присвоить " "значение 1, из-за чего клиент буде пытаться восстановить потерянные " "блокировки при переустановлении связи с сервером. Из-за наличия " "сопутствующего риска повреждения данных, значение данного параметра по " "умолчанию равно 0 (отключено)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "ДЕФЕКТЫ" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "F_SETFL" msgstr "F_SETFL" #. FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable #. via fcntl(2), but currently Linux does not permit this #. See http://bugzilla.kernel.org/show_bug.cgi?id=5994 #. 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 use B to change the state of the B " "and B flags. Attempts to change the state of these flags are " "silently ignored." msgstr "" "Невозможно использовать B для смены состояния флагов B и " "B. Попытка изменить состояние этих флагов просто игнорируется." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "F_GETOWN" msgstr "F_GETOWN" #. glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h #. mtk, Dec 04: some limited testing on alpha and ia64 seems to #. indicate that ANY negative PGID value will cause F_GETOWN #. to misinterpret the return as an error. Some other architectures #. seem to have the same range check as i386. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "A limitation of the Linux system call conventions on some architectures " #| "(notably i386) means that if a (negative) process group ID to be " #| "returned by B falls in the range -1 to -4095, then the return " #| "value is wrongly interpreted by glibc as an error in the system call; " #| "that is, the return value of B() will be -1, and I will " #| "contain the (positive) process group ID. The Linux-specific " #| "B operation avoids this problem. Since glibc version 2.11, " #| "glibc makes the kernel B problem invisible by implementing " #| "B using B." msgid "" "A limitation of the Linux system call conventions on some architectures " "(notably i386) means that if a (negative) process group ID to be returned " "by B falls in the range -1 to -4095, then the return value is " "wrongly interpreted by glibc as an error in the system call; that is, the " "return value of B() will be -1, and I will contain the " "(positive) process group ID. The Linux-specific B operation " "avoids this problem. Since glibc 2.11, glibc makes the kernel B " "problem invisible by implementing B using B." msgstr "" "Ограничение в соглашениях по системным вызовам Linux на некоторых " "архитектурах (в частности i386) приводит к тому, что если значение ID группы " "процесса (отрицательное), возвращаемое по команде B, попадает в " "диапазон от -1 до -4095, то оно неправильно интерпретируется glibc и " "считается ошибкой в системном вызове; то есть возвращаемое значение " "B() будет равно -1, а I будет содержать значение ID группы " "процесса (положительное). Команда B (есть только в Linux) не " "подвержена этой проблеме. Начиная с glibc версии 2.11, glibc делает проблему " "для B невидимой, реализовав B с помощью B." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "F_SETOWN" msgstr "F_SETOWN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged " "process uses B to specify the owner of a socket file descriptor as " "a process (group) other than the caller. In this case, B() can " "return -1 with I set to B, even when the owner process (group) " "is one that the caller has permission to send signals to. Despite this " "error return, the file descriptor owner is set, and signals will be sent to " "the owner." msgstr "" "В Linux 2.4 и более раннем, есть ошибка, которая может произойти когда " "непривилегированный процесс использует B для задания владельца " "дескриптора файла сокета как процесса (группу) отличного от вызывающего. В " "этом случае B() может вернуть -1 с I равным B, даже " "когда процесс (группа) владелец такая же как и вызывающий имеет право " "посылать сигнал. Несмотря на возвращаемую ошибку, владелец файлового " "дескриптора всё равно устанавливается и сигналы будут посылаться владельцу." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Deadlock detection" msgstr "Обнаружение взаимных блокировок (deadlock)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The deadlock-detection algorithm employed by the kernel when dealing with " "B requests can yield both false negatives (failures to detect " "deadlocks, leaving a set of deadlocked processes blocked indefinitely) and " "false positives (B errors when there is no deadlock). For example, " "the kernel limits the lock depth of its dependency search to 10 steps, " "meaning that circular deadlock chains that exceed that size will not be " "detected. In addition, the kernel may falsely indicate a deadlock when two " "or more processes created using the B(2) B flag place " "locks that appear (to the kernel) to conflict." msgstr "" "Алгоритм обнаружения взаимных блокировок задействуется ядром при работе с " "запросами B и может закончиться как ненахождением (не удалось " "обнаружить взаимную блокировку и процессы блокируют друг друга навсегда), " "так и ошибочным нахождением (ошибка B, но взаимная блокировка " "отсутствует). Например, ограничение ядра на вложенность зависимостей " "блокировки при поиске равна 10, что означает, что цепочки циклических " "зависимостей, превышающие этот размер, не будут обнаружены. Также ядро может " "ошибочно посчитать за взаимную блокировку ситуацию, когда два и более " "процесса, созданных с помощью B(2) с флагом B, размещают " "блокировки, которые похожи (для ядра) на конфликтующие." #. http://marc.info/?l=linux-kernel&m=119013491707153&w=2 #. Reconfirmed by Jeff Layton #. From: Jeff Layton redhat.com> #. Subject: Re: Status of fcntl() mandatory locking #. Newsgroups: gmane.linux.file-systems #. Date: 2014-04-28 10:07:57 GMT #. http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The Linux implementation of mandatory locking is subject to race conditions " "which render it unreliable: a B(2) call that overlaps with a lock " "may modify data after the mandatory lock is acquired; a B(2) call " "that overlaps with a lock may detect changes to data that were made only " "after a write lock was acquired. Similar races exist between mandatory " "locks and B(2). It is therefore inadvisable to rely on mandatory " "locking." msgstr "" "Реализация обязательной блокировки в Linux проводит к состязательности " "процессов, что делает её ненадёжной: вызов B(2), пересекающийся с " "блокировкой, может изменить данные после установления обязательной " "блокировки; вызов B(2), пересекающийся с блокировкой, может обнаружить " "изменившиеся данные, которые были внесены уже установления блокировки на " "запись. Подобная состязательность существует между обязательными " "блокировками и B(2). Поэтому нецелесообразно полагаться на " "обязательную блокировку." #. 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(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(8)" msgstr "" "B(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(8)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I, I, and I in the Linux " "kernel source directory I (on older kernels, " "these files are directly under the I directory, and " "I is called I)" msgstr "" "Файлы I, I и I из каталога " "I исходного кода ядра Linux (в старых ядрах эти " "файлы были в каталоге I, а I " "назывался I)." #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 февраля 2023 г." #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: TP #: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B, B" msgstr "B, B" #. type: Plain text #: debian-bookworm msgid "" "SVr4, 4.3BSD, POSIX.1-2001. Only the operations B, B, " "B, B, B, B, B, and B " "are specified in POSIX.1-2001." msgstr "" "SVr4, 4.3BSD, POSIX.1-2001. В POSIX.1-2001 указаны только команды " "B, B, B, B, B, B, " "B и B." #. type: TH #: debian-unstable opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "2023-03-30" msgstr "30 марта 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 "Linux man-pages 6.04" msgstr "Linux man-pages 6.04"