# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Azamat Hackimov , 2014, 2016-2017. # Dmitry Bolkhovskikh , 2017. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017, 2019. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:31+0200\n" "PO-Revision-Date: 2019-09-16 18:46+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 "timer_create" msgstr "timer_create" #. 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 "timer_create - create a POSIX per-process timer" msgstr "timer_create - создаёт таймер POSIX для определённого процесса" #. 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 "Real-time library (I, I<-lrt>)" 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 Esignal.hE> /* Definition of B constants */\n" "B<#include Etime.hE>\n" msgstr "" "B<#include Esignal.hE> /* определения констант B */\n" "B<#include Etime.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "BIB<, struct sigevent *restrict >IB<,>\n" #| "B< timer_t *restrict >IB<);>\n" msgid "" "BIB<,>\n" "B< struct sigevent *_Nullable restrict >IB<,>\n" "B< timer_t *restrict >IB<);>\n" msgstr "" "BIB<, struct sigevent *restrict >IB<,>\n" "B< timer_t *restrict >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" "Требования макроса тестирования свойств для glibc (см. " "B(7)):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" msgstr "B():" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " _POSIX_C_SOURCE E= 199309L\n" msgstr " _POSIX_C_SOURCE E= 199309L\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() creates a new per-process interval timer. The ID of the " "new timer is returned in the buffer pointed to by I, which must be " "a non-null pointer. This ID is unique within the process, until the timer " "is deleted. The new timer is initially disarmed." msgstr "" "Вызов B() создаёт новый таймер для процесса. Идентификатор " "нового таймера возвращается в буфере, указанном в I, его значение " "не должно быть равно null. Данный идентификатор уникален для процесса, пока " "таймер не будет удалён. Новый таймер создаётся неактивным." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument specifies the clock that the new timer uses to " "measure time. It can be specified as one of the following values:" 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 "A settable system-wide real-time clock." 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" #. Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime() #. in Linux 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A nonsettable monotonically increasing clock that measures time from some " "unspecified point in the past that does not change after system startup." msgstr "" "Ненастраиваемые, постоянно идущие вперёд часы, отсчитывающие время с " "некоторой неопределённой точки в прошлом, которая не изменяется с момент " "запуска системы." #. 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 2.6.12)" msgstr "B (начиная с Linux 2.6.12)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A clock that measures (user and system) CPU time consumed by (all of the " "threads in) the calling 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 (since Linux 2.6.12)" msgstr "B (начиная с Linux 2.6.12)" #. The CLOCK_MONOTONIC_RAW that was added in Linux 2.6.28 can't be used #. to create a timer -- mtk, Feb 2009 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A clock that measures (user and system) CPU time consumed by the calling " "thread." msgstr "" "Часы, измеряющие время ЦП (пользовательское и системное), затраченное " "вызывающей нитью." #. 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 2.6.39)" msgstr "B (начиная с Linux 2.6.39)" #. commit 70a08cca1227dc31c784ec930099a4417a06e7d0 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Like B, this is a monotonically increasing clock. However, " "whereas the B clock does not measure the time while a " "system is suspended, the B clock does include the time " "during which the system is suspended. This is useful for applications that " "need to be suspend-aware. B is not suitable for such " "applications, since that clock is affected by discontinuous changes to the " "system clock." msgstr "" "Подобно B, представляет монотонно растущие часы. Однако, " "если часы B не отсчитывают время когда система находится в " "состоянии ожидания (suspended), а часы 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 (since Linux 3.0)" msgstr "B (начиная с Linux 3.0)" #. commit 9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This clock is like B, but will wake the system if it is " "suspended. The caller must have the B capability in order " "to set a timer against this clock." msgstr "" "Эти часы подобны 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 (since Linux 3.0)" msgstr "B (начиная с Linux 3.0)" #. commit 9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This clock is like B, but will wake the system if it is " "suspended. The caller must have the B capability in order " "to set a timer against this clock." msgstr "" "Эти часы подобны 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 (since Linux 3.10)" msgstr "B (начиная с Linux 3.10)" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "A system-wide clock derived from wall-clock time but counting leap seconds." 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 some further details on the above clocks." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As well as the above values, I can be specified as the I " "returned by a call to B(3) or " "B(3)." msgstr "" "Помимо значений, перечисленных ранее, в I может быть указано " "I, возвращённое вызовом B(3) или " "B(3)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The I argument points to a I structure that specifies how " #| "the caller should be notified when the timer expires. For the definition " #| "and general details of this structure, see B(7)." msgid "" "The I argument points to a I structure that specifies how " "the caller should be notified when the timer expires. For the definition " "and general details of this structure, see B(3type)." msgstr "" "Аргумент I указывает на структуру I, которая задаёт способ " "уведомления вызывающего при срабатывании таймера. Определение и описание " "структуры смотрите в B(7)." #. 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 have the following values:" 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 "" "Don't asynchronously notify when the timer expires. Progress of the timer " "can be monitored using 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-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Upon timer expiration, generate the signal I for the " #| "process. See B(7) for general details. The I field " #| "of the I structure will be set to B. At any point " #| "in time, at most one signal is queued to the process for a given timer; " #| "see B(2) for more details." msgid "" "Upon timer expiration, generate the signal I for the process. " "See B(3type) for general details. The I field of the " "I structure will be set to B. At any point in time, at " "most one signal is queued to the process for a given timer; see " "B(2) for more details." msgstr "" "При срабатывании таймера генерировать для процесса сигнал I. " "Подробности смотрите в B(7). Полю I структуры " "I присваивается значение 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" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Upon timer expiration, invoke I as if it were the " #| "start function of a new thread. See B(7) for details." msgid "" "Upon timer expiration, invoke I as if it were the " "start function of a new thread. See B(3type) for details." msgstr "" "При срабатывании вызвать I, как если бы это была " "начальная функция новой нити. Подробности смотрите в 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 (Linux-specific)" msgstr "B (есть только в Linux)" #. 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 the signal is targeted at the thread whose ID is " "given in I, which must be a thread in the same " "process as the caller. The I field specifies a " "kernel thread ID, that is, the value returned by B(2) or " "B(2). This flag is intended only for use by threading libraries." msgstr "" "Как для B, но сигнал нацелен на нить, чей ID указывается в " "I, который должен быть нитью того же процесса что и " "вызывающий. В поле I указывается ID ядерной нити, то " "есть значение, возвращаемое 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 "" "Specifying I as NULL is equivalent to specifying a pointer to a " "I structure in which I is B, " "I is B, and I is the timer ID." msgstr "" "Указание в I значения NULL эквивалентно указанию указателя на " "структуру I, в которой I равно B, " "I равно B и I равно ID таймера." #. 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 "" "On success, B() returns 0, and the ID of the new timer is " "placed in I<*timerid>. On failure, -1 is returned, and I is set to " "indicate the error." msgstr "" "При успешном выполнении B() возвращается 0 и ID нового таймера " "помещается в I<*timerid>. При ошибке возвращается -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 "Temporary error during kernel allocation of timer structures." 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 "" "Clock ID, I, I, or I is " "invalid." msgstr "" "Некорректный ID часов, 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" #. glibc layer: malloc() #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Could not allocate memory." 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 kernel does not support creating a timer against this I." 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 was B or B but the " "caller did not have the B capability." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "ВЕРСИИ" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Отличия между библиотекой C и ядром" #. See nptl/sysdeps/unix/sysv/linux/timer_create.c #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Part of the implementation of the POSIX timers API is provided by glibc. In " "particular:" msgstr "" "Частично, реализация программного интерфейса таймеров POSIX предоставляется " "glibc. А именно:" #. 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 "" "Much of the functionality for B is implemented within glibc, " "rather than the kernel. (This is necessarily so, since the thread involved " "in handling the notification is one that must be managed by the C library " "POSIX threads implementation.) Although the notification delivered to the " "process is via a thread, internally the NPTL implementation uses a " "I value of B along with a real-time signal " "that is reserved by the implementation (see B(7))." msgstr "" "Большая часть функций для B реализована в glibc, а не в ядре " "(это необходимо, так как в обработку уведомления вовлечена нить, которая " "должна управляться библиотекой C, реализующей нити POSIX). Хотя уведомление " "доставляется процессу через нить, внутри реализации NPTL для " "B используется значение I и сигнал реального " "времени, который зарезервирован для реализации (смотрите B(7))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The implementation of the default case where I is NULL is handled " "inside glibc, which invokes the underlying system call with a suitably " "populated I structure." msgstr "" "Стандартная ситуация, когда I равно NULL, обрабатывается в glibc, где " "вызывается нижележащий системный вызов с заполненной подходящим образом " "структурой I." #. See the glibc source file kernel-posix-timers.h for the structure #. that glibc uses to map user-space timer IDs to kernel timer IDs #. The kernel-level timer ID is exposed via siginfo.si_tid. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The timer IDs presented at user level are maintained by glibc, which maps " "these IDs to the timer IDs employed by the kernel." msgstr "" "Идентификаторы таймеров, обрабатываемые на уровне пользователя, " "поддерживаются glibc, которая отображает эти ID в ID таймеров, созданных " "ядром." #. 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 "ИСТОРИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "glibc 2.1. C99, POSIX.1-2001." msgid "Linux 2.6. POSIX.1-2001." msgstr "glibc 2.1. C99, POSIX.1-2001." #. glibc commit 93a78ac437ba44f493333d7e2a4b0249839ce460 #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The POSIX timers system calls first appeared in Linux 2.6. Prior to " #| "this, glibc provided an incomplete user-space implementation " #| "(B timers only) using POSIX threads, and in glibc " #| "versions before 2.17, the implementation falls back to this technique on " #| "systems running pre-2.6 Linux kernels." msgid "" "Prior to Linux 2.6, glibc provided an incomplete user-space implementation " "(B timers only) using POSIX threads, and before glibc 2.17, " "the implementation falls back to this technique on systems running kernels " "older than Linux 2.6." msgstr "" "Системные таймерные вызовы POSIX впервые появились в Linux 2.6. До этого в " "glibc была неполная реализация в пространстве пользователя (только таймеры " "B) с использованием нитей POSIX, а реализация glibc до " "версии 2.17 переключается на неё в системах с ядрами до Linux 2.6." #. 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 "A program may create multiple interval timers using B()." msgstr "" "С помощью B() программа может создавать несколько интервальных " "таймеров." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Timers are not inherited by the child of a B(2), and are disarmed and " "deleted during 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 "" "The kernel preallocates a \"queued real-time signal\" for each timer created " "using B(). Consequently, the number of timers is limited by " "the B resource limit (see B(2))." msgstr "" "Ядро заранее выделяет «сигнал реального времени в очереди» для каждого " "таймера, создаваемого 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 "" "The timers created by B() are commonly known as \"POSIX " "(interval) timers\". The POSIX timers API consists of the following " "interfaces:" msgstr "" "Таймеры, созданные B(), часто называют «(интервальными) " "таймерами POSIX». Программный интерфейс таймеров POSIX состоит из следующих " "интерфейсов:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, 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 #, fuzzy #| msgid " /* Create the timer. */\n" msgid "Create a timer." msgstr " /* Создаём таймер. */\n" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B(2)" msgstr "B(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "B(2): Arm (start) or disarm (stop) a timer." msgid "Arm (start) or disarm (stop) a timer." 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(2)" msgstr "B(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(2): Fetch the time remaining until the next expiration " #| "of a timer, along with the interval setting of the timer." msgid "" "Fetch the time remaining until the next expiration of a timer, along with " "the interval setting of the timer." 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(2)" msgstr "B(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(2): Return the overrun count for the last timer " #| "expiration." msgid "Return the overrun count for the last timer expiration." 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(2)" msgstr "B(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "B(2): Disarm and delete a timer." msgid "Disarm and delete a timer." msgstr "B(2): Выключает и удаляет таймер." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 3.10, the IpidI file can be used to list the " "POSIX timers for the process with PID I. See B(5) for further " "information." msgstr "" "Начиная с Linux 3.10, файл IpidI можно использовать для " "просмотра списка таймеров POSIX для процесса с PID равным I. " "Подробности смотрите в B(5)." #. baa73d9e478ff32d62f3f9422822b59dd9a95a21 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 4.10, support for POSIX timers is a configurable option that is " "enabled by default. Kernel support can be disabled via the " "B option." msgstr "" "Начиная с Linux 4.10, поддержка таймеров POSIX теперь необязательна и " "включена по умолчанию. Поддержку в ядре можно выключить через параметр " "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 below takes two arguments: a sleep period in seconds, and a " "timer frequency in nanoseconds. The program establishes a handler for the " "signal it uses for the timer, blocks that signal, creates and arms a timer " "that expires with the given frequency, sleeps for the specified number of " "seconds, and then unblocks the timer signal. Assuming that the timer " "expired at least once while the program slept, the signal handler will be " "invoked, and the handler displays some information about the timer " "notification. The program terminates after one invocation of the signal " "handler." msgstr "" "Программа ниже обрабатывает два аргумента: интервал сна в секундах и частоту " "таймера в наносекундах. Программа устанавливает обработчик сигнала для " "таймера, блокирует этот сигнал, создаёт и включает таймер, который " "срабатывает с заданной частотой, засыпает на указанное количество секунд, а " "после разблокирует сигнал таймера. Предполагая, что таймер сработает не " "менее одного раза пока программа спит, обработчик сигнала будет вызван и " "покажет некоторую информацию об уведомлении таймера. Программа завершается " "после одного вызова обработчика сигнала." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the following example run, the program sleeps for 1 second, after " "creating a timer that has a frequency of 100 nanoseconds. By the time the " "signal is unblocked and delivered, there have been around ten million " "overruns." msgstr "" "В следующем примере программа спит 1 секунду после создания таймера, который " "работает с частотой 100 наносекунд. За время разблокировки и доставки " "сигнала, произошло около 10 миллионов переполнений." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B<./a.out 1 100>\n" "Establishing handler for signal 34\n" "Blocking signal 34\n" "timer ID is 0x804c008\n" "Sleeping for 1 seconds\n" "Unblocking signal 34\n" "Caught signal 34\n" " sival_ptr = 0xbfb174f4; *sival_ptr = 0x804c008\n" " overrun count = 10004886\n" msgstr "" "./$ B<./a.out 1 100>\n" "Устанавливается обработчик сигнала 34\n" "Блокируется сигнал 34\n" "ID таймера — 0x804c008\n" "Спим 1 секунду\n" "Разблокируется сигнал 34\n" "Пойман сигнал 34\n" " sival_ptr = 0xbfb174f4; *sival_ptr = 0x804c008\n" " счётчик переполнения = 10004886\n" #. 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 "" "#include Esignal.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Etime.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define CLOCKID CLOCK_REALTIME\n" "#define SIG SIGRTMIN\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "static void\n" "print_siginfo(siginfo_t *si)\n" "{\n" " int or;\n" " timer_t *tidp;\n" "\\&\n" " tidp = si-Esi_value.sival_ptr;\n" "\\&\n" " printf(\" sival_ptr = %p; \", si-Esi_value.sival_ptr);\n" " printf(\" *sival_ptr = %#jx\\en\", (uintmax_t) *tidp);\n" "\\&\n" " or = timer_getoverrun(*tidp);\n" " if (or == -1)\n" " errExit(\"timer_getoverrun\");\n" " else\n" " printf(\" overrun count = %d\\en\", or);\n" "}\n" "\\&\n" "static void\n" "handler(int sig, siginfo_t *si, void *uc)\n" "{\n" " /* Note: calling printf() from a signal handler is not safe\n" " (and should not be done in production programs), since\n" " printf() is not async-signal-safe; see signal-safety(7).\n" " Nevertheless, we use printf() here as a simple way of\n" " showing that the handler was called. */\n" "\\&\n" " printf(\"Caught signal %d\\en\", sig);\n" " print_siginfo(si);\n" " signal(sig, SIG_IGN);\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " timer_t timerid;\n" " sigset_t mask;\n" " long long freq_nanosecs;\n" " struct sigevent sev;\n" " struct sigaction sa;\n" " struct itimerspec its;\n" "\\&\n" " if (argc != 3) {\n" " fprintf(stderr, \"Usage: %s Esleep-secsE Efreq-nanosecsE\\en\",\n" " argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Establish handler for timer signal. */\n" "\\&\n" " printf(\"Establishing handler for signal %d\\en\", SIG);\n" " sa.sa_flags = SA_SIGINFO;\n" " sa.sa_sigaction = handler;\n" " sigemptyset(&sa.sa_mask);\n" " if (sigaction(SIG, &sa, NULL) == -1)\n" " errExit(\"sigaction\");\n" "\\&\n" " /* Block timer signal temporarily. */\n" "\\&\n" " printf(\"Blocking signal %d\\en\", SIG);\n" " sigemptyset(&mask);\n" " sigaddset(&mask, SIG);\n" " if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n" " errExit(\"sigprocmask\");\n" "\\&\n" " /* Create the timer. */\n" "\\&\n" " sev.sigev_notify = SIGEV_SIGNAL;\n" " sev.sigev_signo = SIG;\n" " sev.sigev_value.sival_ptr = &timerid;\n" " if (timer_create(CLOCKID, &sev, &timerid) == -1)\n" " errExit(\"timer_create\");\n" "\\&\n" " printf(\"timer ID is %#jx\\en\", (uintmax_t) timerid);\n" "\\&\n" " /* Start the timer. */\n" "\\&\n" " freq_nanosecs = atoll(argv[2]);\n" " its.it_value.tv_sec = freq_nanosecs / 1000000000;\n" " its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n" " its.it_interval.tv_sec = its.it_value.tv_sec;\n" " its.it_interval.tv_nsec = its.it_value.tv_nsec;\n" "\\&\n" " if (timer_settime(timerid, 0, &its, NULL) == -1)\n" " errExit(\"timer_settime\");\n" "\\&\n" " /* Sleep for a while; meanwhile, the timer may expire\n" " multiple times. */\n" "\\&\n" " printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n" " sleep(atoi(argv[1]));\n" "\\&\n" " /* Unlock the timer signal, so that timer notification\n" " can be delivered. */\n" "\\&\n" " printf(\"Unblocking signal %d\\en\", SIG);\n" " if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n" " errExit(\"sigprocmask\");\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-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(2), B(2), B(2), " #| "B(2), B(2), B(2), " #| "B(3), B(3), B(7), " #| "B(7), B(7), B