# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Alexander Golubev , 2018. # Azamat Hackimov , 2011, 2014-2016. # Hotellook, 2014. # Nikita , 2014. # Spiros Georgaras , 2016. # Vladislav , 2015. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:20+0200\n" "PO-Revision-Date: 2019-10-15 18:55+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 "semget" msgstr "semget" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. 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 "semget - get a System V semaphore set identifier" msgstr "semget - считывает идентификатор набора семафоров System V" #. 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 Esys/sem.hE>\n" msgstr "B<#include Esys/sem.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "BIB<,> BIB<,> BIB<);>" msgstr "" "BIB<,> BIB<,> BIB<);>" #. 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 "" "The B() system call returns the System\\ V semaphore set identifier " "associated with the argument I. It may be used either to obtain the " "identifier of a previously created semaphore set (when I is zero and " "I does not have the value B), or to create a new set." msgstr "" "Системный вызов B() возвращает идентификатор набора семафоров System" "\\ V, связанный со значением аргумента I. Его можно использовать для " "получения идентификатора уже созданного набора семафоров (если I " "равно нулю и значение I не равно B) или для создания " "нового." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A new set of I semaphores is created if I has the value " "B or if no existing semaphore set is associated with I and " "B is specified in I." msgstr "" "Новый набор семафоров I создаётся, если значение I равно " "B или с ключом I не связано ни одного существующего набора " "семафоров, а в I задано B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I specifies both B and B and a semaphore set " "already exists for I, then B() fails with I set to " "B. (This is analogous to the effect of the combination B for B(2).)" msgstr "" "Если в I одновременно указаны B и B и набор " "семафоров для I уже существует, то B() завершается с ошибкой и " "I присваивается значение B (такой же результат как с " "B у B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Upon creation, the least significant 9 bits of the argument I define " "the permissions (for owner, group, and others) for the semaphore set. " "These bits have the same format, and the same meaning, as the I " "argument of B(2) (though the execute permissions are not meaningful " "for semaphores, and write permissions mean permission to alter semaphore " "values)." msgstr "" "При создании в 9 начальных битах аргумента 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 "" "When creating a new semaphore set, B() initializes the set's " "associated data structure, I (see B(2)), as follows:" msgstr "" "При создании нового набора семафоров B() инициализирует связанную с " "семафором структуру данных I (см. B(2)) следующим образом: " #. 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]" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I and I are set to the effective user ID of the " "calling process." msgstr "" "Полям I и I присваиваются значения эффективного " "идентификатора пользователя вызывающего процесса." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I and I are set to the effective group ID of " "the calling process." msgstr "" "Полям I и I присваиваются значения эффективного " "идентификатора группы вызывающего процесса." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The least significant 9 bits of I are set to the least " "significant 9 bits of I." msgstr "" "Младшим 9 битам I присваивается значение младших 9 бит " "I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is set to the value of I." msgstr "Полю 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 set to 0." msgstr "Полю I присваивается значение 0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is set to the current time." msgstr "Полю I присваивается значение текущего времени." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument I can be 0 (a don't care) when a semaphore set is not " "being created. Otherwise, I must be greater than 0 and less than or " "equal to the maximum number of semaphores per semaphore set (B)." msgstr "" "Если набор семафоров не создаётся, то аргумент I может быть равен 0 " "(не учитывать). Иначе аргумент I должен быть больше 0 и меньше или " "равен максимальному количеству семафоров в наборе (B)." #. and a check is made to see if it is marked for destruction. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "If the semaphore set already exists, the permissions are verified." 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 #, fuzzy #| msgid "" #| "On success, B() returns a nonnegative CPU number. On " #| "error, -1 is returned and I is set to indicate the error." msgid "" "On success, B() returns the semaphore set identifier (a nonnegative " "integer). On failure, -1 is returned, and I is set to indicate the " "error." msgstr "" "При успешном выполнении B() возвращает неотрицательный номер " "ЦП. При ошибке возвращается -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" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A semaphore set exists for I, but the calling process does not have " "permission to access the set, and does not have the B " "capability in the user namespace that governs its IPC namespace." msgstr "" "Набор семафоров для ключа I существует, но вызывающий процесс не имеет " "прав доступа к нему и не имеет мандата B в пространстве имён " "пользователя, который управляет его пространством имён IPC." #. 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" #. .TP #. .B EIDRM #. The semaphore set is marked to be deleted. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B and B were specified in I, but a semaphore " "set already exists for I." msgstr "" "В I указаны 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 less than 0 or greater than the limit on the number of " "semaphores per semaphore set (B)." msgstr "" "Значение I меньше 0 или больше максимально возможного для набора " "количества семафоров (B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A semaphore set corresponding to I already exists, but I is " "larger than the number of semaphores in that set." msgstr "" "Набор семафоров, соответствующий 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 "" "No semaphore set exists for I and I did not specify " "B." msgstr "" "Для ключа I не существует набора семафоров и в 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 "" "A semaphore set has to be created but the system does not have enough memory " "for the new data structure." 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 semaphore set has to be created but the system limit for the maximum " "number of semaphore sets (B), or the system wide maximum number of " "semaphores (B), would be exceeded." msgstr "" "Набор семафоров должен быть создан, но при этом будет превышен системный " "лимит на количество наборов семафоров (B) или системный лимит на " "количество семафоров (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." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, #. ERANGE, EFAULT. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "SVr4, POSIX.1-2001." msgstr "SVr4, POSIX.1-2001." #. 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 "" "B isn't a flag field but a I type. If this special " "value is used for I, the system call ignores all but the least " "significant 9 bits of I and creates a new semaphore set (on success)." msgstr "" "Значение B не поле флага, а тип I. Если I равно " "этому специальному значению, то системный вызов игнорирует всё кроме 9-ти " "младших битов I и создаёт новый набор семафоров (при успешном " "выполнении)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Semaphore initialization" msgstr "Инициализация семафоров" #. In truth, every one of the many implementations that I've tested sets #. the values to zero, but I suppose there is/was some obscure #. implementation out there that does not. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The values of the semaphores in a newly created set are indeterminate. " "(POSIX.1-2001 and POSIX.1-2008 are explicit on this point, although " "POSIX.1-2008 notes that a future version of the standard may require an " "implementation to initialize the semaphores to 0.) Although Linux, like " "many other implementations, initializes the semaphore values to 0, a " "portable application cannot rely on this: it should explicitly initialize " "the semaphores to the desired values." msgstr "" "Значения только что созданных семафоров не определены (в POSIX.1-2001 и " "POSIX.1-2008 это указано явно, хотя в POSIX.1-2008 сказано, что в будущих " "версиях стандарта от реализации может потребоваться инициализировать " "семафоры 0). Хотя Linux, подобно многим другим реализациям, инициализирует " "семафоры значением 0, переносимое приложение не может полагаться на это: оно " "должно явно инициализировать семафоры нужным значением." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Initialization can be done using B(2) B or B " "operation. Where multiple peers do not know who will be the first to " "initialize the set, checking for a nonzero I in the associated " "data structure retrieved by a B(2) B operation can be " "used to avoid races." msgstr "" "Инициализацию можно выполнять с помощью B(2) с операцией B " "или B. При наличии нескольких абонентов неизвестно, кто первый " "выполнит инициализацию, и чтобы избежать состязательности нужно проверять " "I на ненулевое значение в связанной структуре данных, получаемой " "с помощью 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 "Semaphore limits" msgstr "Ограничения семафоров" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following limits on semaphore set resources affect the B() call:" 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" #. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 #. This /proc file is not available in Linux 2.2 and earlier -- MTK #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "System-wide limit on the number of semaphore sets. On Linux systems " #| "before version 3.19, the default value for this limit was 128. Since " #| "Linux 3.19, the default value is 32,000. On Linux, this limit can be " #| "read and modified via the fourth field of I." msgid "" "System-wide limit on the number of semaphore sets. Before Linux 3.19, the " "default value for this limit was 128. Since Linux 3.19, the default value " "is 32,000. On Linux, this limit can be read and modified via the fourth " "field of I." msgstr "" "Ограничение на максимальное количество наборов семафоров. В системах Linux " "до версии 3.19, значением по умолчанию этого ограничения было 128. Начиная с " "Linux 3.19, значение по умолчанию равно 32000. В Linux это ограничение можно " "получать и изменять через четвёртое поле 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" #. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Maximum number of semaphores per semaphore ID. On Linux systems before " #| "version 3.19, the default value for this limit was 250. Since Linux " #| "3.19, the default value is 32,000. On Linux, this limit can be read and " #| "modified via the first field of I." msgid "" "Maximum number of semaphores per semaphore ID. Before Linux 3.19, the " "default value for this limit was 250. Since Linux 3.19, the default value " "is 32,000. On Linux, this limit can be read and modified via the first " "field of I." msgstr "" "Максимальное количество семафоров на один ID семафора. В системах Linux до " "версии 3.19, значением по умолчанию этого ограничения было 250. Начиная с " "Linux 3.19, значение по умолчанию равно 32000. В Linux это ограничение можно " "получать и изменять через первое поле 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 "" "System-wide limit on the number of semaphores: policy dependent (on Linux, " "this limit can be read and modified via the second field of I). Note that the number of semaphores system-wide is also " "limited by the product of B and B." msgstr "" "Ограничение на максимальное количество семафоров в системе: зависит от " "политики (в Linux это ограничение можно получать и изменять через второе " "поле I). Заметим, что количество семафоров в системе " "также ограничено произведением B и B." #. 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: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The name choice B was perhaps unfortunate, B would " "more clearly show its function." msgstr "" "Имя B, возможно, было выбрано неудачно, B отражает " "смысл действия более ясно." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program shown below uses B() to create a new semaphore set or " "retrieve the ID of an existing set. It generates the I for " "B() using B(3). The first two command-line arguments are " "used as the I and I arguments for B(3). The third " "command-line argument is an integer that specifies the I argument for " "B(). Command-line options can be used to specify the B " "(I<-c>) and B (I<-x>) flags for the call to B(). The " "usage of this program is demonstrated below." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We first create two files that will be used to generate keys using " "B(3), create two semaphore sets using those files, and then list the " "sets using B(1):" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "$ B\n" "$ B<./t_semget -c mykey p 1>\n" "ID = 9\n" "$ B<./t_semget -c mykey2 p 2>\n" "ID = 10\n" "$ B\n" "\\&\n" "------ Semaphore Arrays --------\n" "key semid owner perms nsems\n" "0x7004136d 9 mtk 600 1\n" "0x70041368 10 mtk 600 2\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Next, we demonstrate that when B(2) is given the same I (as " "generated by the same arguments to B(3)), it returns the ID of the " "already existing semaphore set:" 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<./t_semget -c mykey p 1>\n" "ID = 9\n" msgstr "" "$ B<./t_semget -c mykey p 1>\n" "ID = 9\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Finally, we demonstrate the kind of collision that can occur when " "B(3) is given different I arguments that have the same " "inode number:" 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\n" "$ B\n" "2233197 link\n" "2233197 mykey\n" "$ B<./t_semget link p 1> # Generates same key as \\[aq]mykey\\[aq]\n" "ID = 9\n" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Исходный код программы" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* t_semget.c\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Eunistd.hE\n" "\\&\n" "static void\n" "usage(const char *pname)\n" "{\n" " fprintf(stderr, \"Usage: %s [-cx] pathname proj-id num-sems\\en\",\n" " pname);\n" " fprintf(stderr, \" -c Use IPC_CREAT flag\\en\");\n" " fprintf(stderr, \" -x Use IPC_EXCL flag\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, nsems, flags, opt;\n" " key_t key;\n" "\\&\n" " flags = 0;\n" " while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]c\\[aq]: flags |= IPC_CREAT; break;\n" " case \\[aq]x\\[aq]: flags |= IPC_EXCL; break;\n" " default: usage(argv[0]);\n" " }\n" " }\n" "\\&\n" " if (argc != optind + 3)\n" " usage(argv[0]);\n" "\\&\n" " key = ftok(argv[optind], argv[optind + 1][0]);\n" " if (key == -1) {\n" " perror(\"ftok\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " nsems = atoi(argv[optind + 2]);\n" "\\&\n" " semid = semget(key, nsems, flags | 0600);\n" " if (semid == -1) {\n" " perror(\"semget\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " printf(\"ID = %d\\en\", semid);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. 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(3), B(7), " "B(7), B(7)" msgstr "" "B(2), B(2), B(3), B(7), " "B(7), B(7)" #. 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: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "$ B\n" "$ B<./t_semget -c mykey p 1>\n" "ID = 9\n" "$ B<./t_semget -c mykey2 p 2>\n" "ID = 10\n" "$ B\n" msgstr "" "$ B\n" "$ B<./t_semget -c mykey p 1>\n" "ID = 9\n" "$ B<./t_semget -c mykey2 p 2>\n" "ID = 10\n" "$ B\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "------ Semaphore Arrays --------\n" "key semid owner perms nsems\n" "0x7004136d 9 mtk 600 1\n" "0x70041368 10 mtk 600 2\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* t_semget.c\n" msgstr "/* t_semget.c\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "#include Estdio.hE\n" #| "#include Estdlib.hE\n" #| "#include Esys/time.hE\n" #| "#include Esys/types.hE\n" #| "#include Eunistd.hE\n" msgid "" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/ipc.hE\n" "#include Esys/sem.hE\n" "#include Eunistd.hE\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/time.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static void\n" "usage(const char *pname)\n" "{\n" " fprintf(stderr, \"Usage: %s [-cx] pathname proj-id num-sems\\en\",\n" " pname);\n" " fprintf(stderr, \" -c Use IPC_CREAT flag\\en\");\n" " fprintf(stderr, \" -x Use IPC_EXCL flag\\en\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, nsems, flags, opt;\n" " key_t key;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int semid, nsems, flags, opt;\n" " key_t key;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " flags = 0;\n" #| " while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" #| " switch (opt) {\n" #| " case \\(aqc\\(aq: flags |= IPC_CREAT; break;\n" #| " case \\(aqx\\(aq: flags |= IPC_EXCL; break;\n" #| " default: usage(argv[0]);\n" #| " }\n" #| " }\n" msgid "" " flags = 0;\n" " while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]c\\[aq]: flags |= IPC_CREAT; break;\n" " case \\[aq]x\\[aq]: flags |= IPC_EXCL; break;\n" " default: usage(argv[0]);\n" " }\n" " }\n" msgstr "" " flags = 0;\n" " while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" " switch (opt) {\n" " case \\(aqc\\(aq: flags |= IPC_CREAT; break;\n" " case \\(aqx\\(aq: flags |= IPC_EXCL; break;\n" " default: usage(argv[0]);\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc != optind + 3)\n" " usage(argv[0]);\n" msgstr "" " if (argc != optind + 3)\n" " usage(argv[0]);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " key = ftok(argv[optind], argv[optind + 1][0]);\n" " if (key == -1) {\n" " perror(\"ftok\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " key = ftok(argv[optind], argv[optind + 1][0]);\n" " if (key == -1) {\n" " perror(\"ftok\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " nsems = atoi(argv[optind + 2]);\n" msgstr " nsems = atoi(argv[optind + 2]);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " semid = semget(key, nsems, flags | 0600);\n" " if (semid == -1) {\n" " perror(\"semget\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " semid = semget(key, nsems, flags | 0600);\n" " if (semid == -1) {\n" " perror(\"semget\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"ID = %d\\en\", semid);\n" msgstr " printf(\"ID = %d\\en\", semid);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 марта 2023 г." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"