diff options
Diffstat (limited to 'po/ru/man3/posix_spawn.3.po')
-rw-r--r-- | po/ru/man3/posix_spawn.3.po | 1833 |
1 files changed, 1833 insertions, 0 deletions
diff --git a/po/ru/man3/posix_spawn.3.po b/po/ru/man3/posix_spawn.3.po new file mode 100644 index 00000000..82c79dea --- /dev/null +++ b/po/ru/man3/posix_spawn.3.po @@ -0,0 +1,1833 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Alexey, 2016. +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2014-2017. +# kogamatranslator49 <r.podarov@yandex.ru>, 2015. +# Kogan, Darima <silverdk99@gmail.com>, 2014. +# Max Is <ismax799@gmail.com>, 2016. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:04+0100\n" +"PO-Revision-Date: 2019-10-12 08:58+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "posix_spawn" +msgstr "" + +#. 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 "posix_spawn, posix_spawnp - spawn a process" +msgstr "posix_spawn, posix_spawnp - порождает процесс" + +#. 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<libc>, 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 E<lt>spawn.hE<gt>>\n" +msgstr "B<#include E<lt>spawn.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int posix_spawn(pid_t *restrict >I<pid>B<, const char *restrict >I<path>B<,>\n" +"B< const posix_spawn_file_actions_t *restrict >I<file_actions>B<,>\n" +"B< const posix_spawnattr_t *restrict >I<attrp>B<,>\n" +"B< char *const >I<argv>B<[restrict],>\n" +"B< char *const >I<envp>B<[restrict]);>\n" +"B<int posix_spawnp(pid_t *restrict >I<pid>B<, const char *restrict >I<file>B<,>\n" +"B< const posix_spawn_file_actions_t *restrict >I<file_actions>B<,>\n" +"B< const posix_spawnattr_t *restrict >I<attrp>B<,>\n" +"B< char *const >I<argv>B<[restrict],>\n" +"B< char *const >I<envp>B<[restrict]);>\n" +msgstr "" + +#. 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<posix_spawn>() and B<posix_spawnp>() functions are used to create a " +"new child process that executes a specified file. These functions were " +"specified by POSIX to provide a standardized method of creating new " +"processes on machines that lack the capability to support the B<fork>(2) " +"system call. These machines are generally small, embedded systems lacking " +"MMU support." +msgstr "" +"Функции B<posix_spawn>() и B<posix_spawnp>() используются для создания новых " +"дочерних процессов, которые выполняют указываемый файл. Эти функции были " +"определены в POSIX для стандартизации метода создания новых процессов на " +"машинах, у которых нет возможности поддержки системного вызова B<fork>(2). К " +"таким машинах, обычно, относятся встраиваемые системы без поддержки MMU." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<posix_spawn>() and B<posix_spawnp>() functions provide the " +"functionality of a combined B<fork>(2) and B<exec>(3), with some optional " +"housekeeping steps in the child process before the B<exec>(3). These " +"functions are not meant to replace the B<fork>(2) and B<execve>(2) system " +"calls. In fact, they provide only a subset of the functionality that can be " +"achieved by using the system calls." +msgstr "" +"Функции B<posix_spawn>() и B<posix_spawnp>() предоставляют комбинацию " +"возможностей B<fork>(2) и B<exec>(3) с некоторыми необязательными " +"обслуживающими действиями в дочернем процессе перед B<exec>(3). Эти функции " +"не служат заменой системных вызовов B<fork>(2) и B<execve>(2). Фактически, " +"они предоставляют только часть функций системных вызовов." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The only difference between B<posix_spawn>() and B<posix_spawnp>() is the " +"manner in which they specify the file to be executed by the child process. " +"With B<posix_spawn>(), the executable file is specified as a pathname (which " +"can be absolute or relative). With B<posix_spawnp>(), the executable file " +"is specified as a simple filename; the system searches for this file in the " +"list of directories specified by B<PATH> (in the same way as for " +"B<execvp>(3)). For the remainder of this page, the discussion is phrased in " +"terms of B<posix_spawn>(), with the understanding that B<posix_spawnp>() " +"differs only on the point just described." +msgstr "" +"Единственным отличием между B<posix_spawnp>() и B<posix_spawnp>() является " +"способ, которым в них указывается исполняемый дочерним процессом файл. В " +"B<posix_spawn>() исполняемый файл задаётся в виде пути (которое может быть " +"абсолютным или относительным). В B<posix_spawnp>() исполняемый файл задаётся " +"в виде имени файла; система ищет этот файл в списке каталогов, указанных в " +"B<PATH> (также, как это делает B<execvp>(3)). Кроме данного отличия далее на " +"этой странице всё описание B<posix_spawn>() также относится и к " +"B<posix_spawnp>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The remaining arguments to these two functions are as follows:" +msgstr "Остальные аргументы функций:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "I<si_pid>" +msgid "I<pid>" +msgstr "I<si_pid>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<pid> argument points to a buffer that is used to return the process " +#| "ID of the new child process." +msgid "" +"points to a buffer that is used to return the process ID of the new child " +"process." +msgstr "" +"Аргумент I<pid> указывает на буфер, в котором возвращается ID нового " +"дочернего процесса." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<sigaction>(2)" +msgid "I<file_actions>" +msgstr "B<sigaction>(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<file_actions> argument points to a I<spawn file actions object> " +#| "that specifies file-related actions to be performed in the child between " +#| "the B<fork>(2) and B<exec>(3) steps. This object is initialized and " +#| "populated before the B<posix_spawn>() call using " +#| "B<posix_spawn_file_actions_init>(3) and the " +#| "B<posix_spawn_file_actions_*>() functions." +msgid "" +"points to a I<spawn file actions object> that specifies file-related actions " +"to be performed in the child between the B<fork>(2) and B<exec>(3) steps. " +"This object is initialized and populated before the B<posix_spawn>() call " +"using B<posix_spawn_file_actions_init>(3) and the " +"B<posix_spawn_file_actions_*>() functions." +msgstr "" +"Аргумент I<file_actions> указывает на I<объект файловых действий при " +"создании>, в котором задаются действия с файлом, выполняемые в потомке между " +"шагами B<fork>(2) и B<exec>(3). Данный объект инициализируется и заполняется " +"перед вызовом B<posix_spawn>() с помощью функций " +"B<posix_spawn_file_actions_init>(3) и B<posix_spawn_file_actions_*>()." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<attrp>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<attrp> argument points to an I<attributes objects> that specifies " +#| "various attributes of the created child process. This object is " +#| "initialized and populated before the B<posix_spawn>() call using " +#| "B<posix_spawnattr_init>(3) and the B<posix_spawnattr_*>() functions." +msgid "" +"points to an I<attributes objects> that specifies various attributes of the " +"created child process. This object is initialized and populated before the " +"B<posix_spawn>() call using B<posix_spawnattr_init>(3) and the " +"B<posix_spawnattr_*>() functions." +msgstr "" +"Аргумент I<attrp> указывает на I<объект атрибутов>, в котором задаются " +"различные атрибуты создаваемого дочернего процесса. Данный объект " +"инициализируется и заполняется перед вызовом B<posix_spawn>() с помощью " +"функций B<posix_spawnattr_init>(3) и B<posix_spawnattr_*>()." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<argv>" +msgstr "" + +#. type: TQ +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "I<env>" +msgid "I<envp>" +msgstr "I<env>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<argv> and I<envp> arguments specify the argument list and " +#| "environment for the program that is executed in the child process, as for " +#| "B<execve>(2)." +msgid "" +"specify the argument list and environment for the program that is executed " +"in the child process, as for B<execve>(2)." +msgstr "" +"В аргументах I<argv> и I<envp> задаётся список аргументов и окружения для " +"программы, выполняемой в дочернем процессе, как для B<execve>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Below, the functions are described in terms of a three-step process: the " +"B<fork>() step, the pre-B<exec>() step (executed in the child), and the " +"B<exec>() step (executed in the child)." +msgstr "" +"Далее функции описаны в виде трёх ступенчатого процесса: шаг B<fork>(), шаг " +"перед B<exec>() (выполняется в потомке) и шаг B<exec>() (выполняется в " +"потомке)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "fork() step" +msgstr "Шаг fork()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<posix_spawn>() function commences by calling B<fork>(2), or " +#| "possibly B<vfork>(2) (see below)." +msgid "" +"Since glibc 2.24, the B<posix_spawn>() function commences by calling " +"B<clone>(2) with B<CLONE_VM> and B<CLONE_VFORK> flags. Older " +"implementations use B<fork>(2), or possibly B<vfork>(2) (see below)." +msgstr "" +"Функция B<posix_spawn>() начинает работу с вызова B<fork>(2) или, возможно, " +"B<vfork>(2) (смотрите ниже)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The PID of the new child process is placed in I<*pid>. The " +"B<posix_spawn>() function then returns control to the parent process." +msgstr "" +"PID нового дочернего процесса помещается в I<*pid>. После этого функция " +"B<posix_spawn>() возвращает управление родительскому процессу." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Subsequently, the parent can use one of the system calls described in " +"B<wait>(2) to check the status of the child process. If the child fails in " +"any of the housekeeping steps described below, or fails to execute the " +"desired file, it exits with a status of 127." +msgstr "" +"Соответственно, родитель может использовать один из системных вызовов, " +"описанных в B<wait>(2), для проверки состояния дочернего процесса. Если " +"потомок завершится с ошибкой в любом из служебных шагов, описанных далее, " +"или возникнет ошибка при выполнении желаемого файла, то он завершит работу с " +"кодом состояния 127." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The child process is created using B<vfork>(2) instead of B<fork>(2) " +#| "when either of the following is true:" +msgid "" +"Before glibc 2.24, the child process is created using B<vfork>(2) instead " +"of B<fork>(2) when either of the following is true:" +msgstr "" +"Дочерний процесс создаётся с помощью B<vfork>(2), а не B<fork>(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 "" +"the I<spawn-flags> element of the attributes object pointed to by I<attrp> " +"contains the GNU-specific flag B<POSIX_SPAWN_USEVFORK>; or" +msgstr "" +"элемент I<spawn-flags> объекта атрибутов, на который указывает I<attrp>, " +"содержит определённый в GNU флаг B<POSIX_SPAWN_USEVFORK>; или" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<file_actions> is NULL and the I<spawn-flags> element of the attributes " +"object pointed to by I<attrp> does I<not> contain B<POSIX_SPAWN_SETSIGMASK>, " +"B<POSIX_SPAWN_SETSIGDEF>, B<POSIX_SPAWN_SETSCHEDPARAM>, " +"B<POSIX_SPAWN_SETSCHEDULER>, B<POSIX_SPAWN_SETPGROUP>, or " +"B<POSIX_SPAWN_RESETIDS>." +msgstr "" +"I<file_actions> равно NULL и элемент I<spawn-flags> объекта атрибутов, на " +"который указывает I<attrp>, I<не> содержит B<POSIX_SPAWN_SETSIGMASK>, " +"B<POSIX_SPAWN_SETSIGDEF>, B<POSIX_SPAWN_SETSCHEDPARAM>, " +"B<POSIX_SPAWN_SETSCHEDULER>, B<POSIX_SPAWN_SETPGROUP> или " +"B<POSIX_SPAWN_RESETIDS>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In other words, B<vfork>(2) is used if the caller requests it, or if there " +"is no cleanup expected in the child before it B<exec>(3)s the requested file." +msgstr "" +"Иначе говоря, B<vfork>(2) используется, если это запросил вызывающий или не " +"нужна очистка в потомке перед выполнением B<exec>(3) запрашиваемого файла." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "pre-exec() step: housekeeping" +msgstr "Шаг перед exec(): служебные действия" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "In between the B<fork>(2) and the B<exec>(3), a child process may need " +#| "to perform a set of housekeeping actions. The B<posix_spawn>() and " +#| "B<posix_spawnp>() functions support a small, well-defined set of system " +#| "tasks that the child process can accomplish before it executes the " +#| "executable file. These operations are controlled by the attributes " +#| "object pointed to by I<attrp> and the file actions object pointed to by " +#| "I<file_actions>. In the child, processing is done in the following " +#| "sequence:" +msgid "" +"In between the B<fork()> and the B<exec()> steps, a child process may need " +"to perform a set of housekeeping actions. The B<posix_spawn>() and " +"B<posix_spawnp>() functions support a small, well-defined set of system " +"tasks that the child process can accomplish before it executes the " +"executable file. These operations are controlled by the attributes object " +"pointed to by I<attrp> and the file actions object pointed to by " +"I<file_actions>. In the child, processing is done in the following sequence:" +msgstr "" +"Между B<fork>(2) и B<exec>(3) дочерний процесс может выполнить набор " +"служебных действий. Функции B<posix_spawn>() и B<posix_spawnp>() " +"поддерживают маленький, хорошо спроектированный набор системных задач, " +"которые дочерний процесс может выполнить перед запуском исполняемого файла. " +"Эти операции управляются объектом атрибутов, на который указывает I<attrp> и " +"объект файловых действий, на который указывает I<file_actions>. В потомке " +"обработка выполняются в следующей последовательности:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(1)" +msgstr "(1)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Process attribute actions: signal mask, signal default handlers, scheduling " +"algorithm and parameters, process group, and effective user and group IDs " +"are changed as specified by the attributes object pointed to by I<attrp>." +msgstr "" +"Действия с атрибутами процесса: маска сигналов, обработчики сигналов по " +"умолчанию, алгоритм планирования и параметры, ID группы процесса, " +"эффективного пользователя и группы изменяются согласно объекту атрибутов, на " +"который указывает I<attrp>." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(2)" +msgstr "(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"File actions, as specified in the I<file_actions> argument, are performed in " +"the order that they were specified using calls to the " +"B<posix_spawn_file_actions_add*>() functions." +msgstr "" +"Файловые действия, указываемые в аргументе I<file_actions>, выполняются в " +"порядке их определения вызовами функций B<posix_spawn_file_actions_add*>()." + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "(3)" +msgstr "(3)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "File descriptors with the B<FD_CLOEXEC> flag set are closed." +msgstr "Закрываются файловые дескрипторы, имеющие флаг B<FD_CLOEXEC>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All process attributes in the child, other than those affected by attributes " +"specified in the object pointed to by I<attrp> and the file actions in the " +"object pointed to by I<file_actions>, will be affected as though the child " +"was created with B<fork>(2) and it executed the program with B<execve>(2)." +msgstr "" +"Все атрибуты процесса-потомка, отличные от атрибутов в объекте, на который " +"указывает I<attrp> и файловые действия в объекте, на который указывает " +"I<file_actions>, будут изменены как если бы потомок создавался с помощью " +"B<fork>(2) и выполнял программу с помощью B<execve>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process attributes actions are defined by the attributes object pointed " +"to by I<attrp>. The I<spawn-flags> attribute (set using " +"B<posix_spawnattr_setflags>(3)) controls the general actions that occur, " +"and other attributes in the object specify values to be used during those " +"actions." +msgstr "" +"Действия атрибутов процесса определяются атрибутами объекта, на который " +"указывает I<attrp>. Атрибут I<spawn-flags> (устанавливается с помощью " +"B<posix_spawnattr_setflags>(3)) управляет общими действиями, а остальные " +"атрибуты объекта хранят значения, которые будут использованы в этих " +"действиях." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The effects of the flags that may be specified in I<spawn-flags> are as " +"follows:" +msgstr "Влияние флагов, которые могут быть указаны в I<spawn-flags>:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_SETSIGMASK>" +msgstr "B<POSIX_SPAWN_SETSIGMASK>" + +#. FIXME . +#. (see +#. .BR posix_spawnattr_setsigmask (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the signal mask to the signal set specified in the I<spawn-sigmask> " +"attribute of the object pointed to by I<attrp>. If the " +"B<POSIX_SPAWN_SETSIGMASK> flag is not set, then the child inherits the " +"parent's signal mask." +msgstr "" +"Назначить маску сигналов равной набору сигналов, определённой в атрибуте " +"I<spawn-sigmask> объекта, на который указывает I<attrp>. Если не установлен " +"флаг B<POSIX_SPAWN_SETSIGMASK>, то потомок наследует маску сигналов родителя." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_SETSIGDEF>" +msgstr "B<POSIX_SPAWN_SETSIGDEF>" + +#. FIXME . +#. (see +#. .BR posix_spawnattr_setsigdefault (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Reset the disposition of all signals in the set specified in the I<spawn-" +"sigdefault> attribute of the object pointed to by I<attrp> to the default. " +"For the treatment of the dispositions of signals not specified in the " +"I<spawn-sigdefault> attribute, or the treatment when " +"B<POSIX_SPAWN_SETSIGDEF> is not specified, see B<execve>(2)." +msgstr "" +"Сбрасывает обработчики всех сигналов в наборе, заданном в атрибуте I<spawn-" +"sigdefault> объекта, на который указывает I<attrp>, в значения по умолчанию. " +"О том, что происходит с обработчиками сигналов не указанных в атрибуте " +"I<spawn-sigdefault> или когда не указан B<POSIX_SPAWN_SETSIGDEF>, смотрите " +"B<execve>(2)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_SETSCHEDPARAM>" +msgstr "B<POSIX_SPAWN_SETSCHEDPARAM>" + +#. (POSIX_PRIORITY_SCHEDULING only) +#. FIXME . +#. (see +#. .BR posix_spawnattr_setschedparam (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this flag is set, and the B<POSIX_SPAWN_SETSCHEDULER> flag is not set, " +"then set the scheduling parameters to the parameters specified in the " +"I<spawn-schedparam> attribute of the object pointed to by I<attrp>." +msgstr "" +"Если этот флаг установлен, а B<POSIX_SPAWN_SETSCHEDULER> нет, то изменяет " +"параметры планирования на значения, указанные в атрибуте I<spawn-schedparam> " +"объекта, на который указывает I<attrp>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_SETSCHEDULER>" +msgstr "B<POSIX_SPAWN_SETSCHEDULER>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the scheduling policy algorithm and parameters of the child, as follows:" +msgstr "Назначает алгоритм планирования и параметры потомка:" + +#. FIXME . +#. (see +#. .BR posix_spawnattr_setpolicy (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The scheduling policy is set to the value specified in the I<spawn-" +"schedpolicy> attribute of the object pointed to by I<attrp>." +msgstr "" +"Алгоритму планирования присваивается значение, указанное в атрибуте I<spawn-" +"schedpolicy> объекта, на который указывает I<attrp>." + +#. FIXME . +#. (see +#. .BR posix_spawnattr_setschedparam (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The scheduling parameters are set to the value specified in the I<spawn-" +"schedparam> attribute of the object pointed to by I<attrp> (but see BUGS)." +msgstr "" +"Параметрам планирования присваивается значение, указанное в атрибуте I<spawn-" +"schedparam> объекта, на который указывает I<attrp> (но смотрите ДЕФЕКТЫ)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the B<POSIX_SPAWN_SETSCHEDPARAM> and B<POSIX_SPAWN_SETSCHEDPOLICY> flags " +"are not specified, the child inherits the corresponding scheduling " +"attributes from the parent." +msgstr "" +"Если не указаны флаги B<POSIX_SPAWN_SETSCHEDPARAM> и " +"B<POSIX_SPAWN_SETSCHEDPOLICY>, то потомок наследует соответствующие атрибуты " +"планирования от родителя." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_RESETIDS>" +msgstr "B<POSIX_SPAWN_RESETIDS>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this flag is set, reset the effective UID and GID to the real UID and GID " +"of the parent process. If this flag is not set, then the child retains the " +"effective UID and GID of the parent. In either case, if the set-user-ID and " +"set-group-ID permission bits are enabled on the executable file, their " +"effect will override the setting of the effective UID and GID (se " +"B<execve>(2))." +msgstr "" +"Если этот флаг установлен, то сбрасываются эффективный UID и GID в реальный " +"UID и GID родительского процесса. Если флаг не установлен, то потомок " +"сохраняет эффективный UID и GID родителя. В любом случае, если биты прав set-" +"user-ID и set-group-ID включены на исполняемом файле, то это заменяет " +"значения эффективного UID и GID (смотрите B<execve>(2))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<POSIX_SPAWN_SETPGROUP>" +msgstr "B<POSIX_SPAWN_SETPGROUP>" + +#. FIXME . +#. (see +#. .BR posix_spawnattr_setpgroup (3)) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the process group to the value specified in the I<spawn-pgroup> " +"attribute of the object pointed to by I<attrp>. If the I<spawn-pgroup> " +"attribute has the value 0, the child's process group ID is made the same as " +"its process ID. If the B<POSIX_SPAWN_SETPGROUP> flag is not set, the child " +"inherits the parent's process group ID." +msgstr "" +"Назначает группе процесса значение, указанное в атрибуте I<spawn-pgroup> " +"объекта, на который указывает I<attrp>. Если атрибут I<spawn-pgroup> равен " +"0, то ID группы потомка становится равным его ID процесса. Если флаг " +"B<POSIX_SPAWN_SETPGROUP> не установлен, то потомок наследует ID группы " +"процесса родителя." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<POSIX_SPAWN_SETSIGDEF>" +msgid "B<POSIX_SPAWN_USEVFORK>" +msgstr "B<POSIX_SPAWN_SETSIGDEF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since glibc 2.24, this flag has no effect. On older implementations, " +"setting this flag forces the B<fork()> step to use B<vfork>(2) instead of " +"B<fork>(2). The B<_GNU_SOURCE> feature test macro must be defined to obtain " +"the definition of this constant." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<POSIX_SPAWN_SETSIGDEF>" +msgid "B<POSIX_SPAWN_SETSID> (since glibc 2.26)" +msgstr "B<POSIX_SPAWN_SETSIGDEF>" + +#. This flag has been accepted in POSIX, see: +#. http://austingroupbugs.net/view.php?id=1044 +#. and has been implemented since glibc 2.26 +#. commit daeb1fa2e1b33323e719015f5f546988bd4cc73b +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this flag is set, the child process shall create a new session and become " +"the session leader. The child process shall also become the process group " +"leader of the new process group in the session (see B<setsid>(2)). The " +"B<_GNU_SOURCE> feature test macro must be defined to obtain the definition " +"of this constant." +msgstr "" + +#. mtk: I think we probably don't want to say the following, since it +#. could lead people to do the wrong thing +#. The POSIX standard tells you to call +#. this function to de-initialize the attributes object pointed to by +#. .I attrp +#. when you are done with it; +#. however, on Linux systems this operation is a no-op. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<attrp> is NULL, then the default behaviors described above for each " +"flag apply." +msgstr "" +"Если I<attrp> равно NULL, то выполняются действия по умолчанию, которые " +"описаны выше по каждому флагу." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The I<file_actions> argument specifies a sequence of file operations that " +#| "are performed in the child process after the general processing described " +#| "above, and before it performs the B<exec>(3). If I<file_actions> is " +#| "NULL, then no special action is taken, and standard B<exec>(3) semantics " +#| "apply--file descriptors open before the exec remain open in the new " +#| "process, except those for which the B<FD_CLOEXEC> flag has been set. " +#| "File locks remain in place." +msgid "" +"The I<file_actions> argument specifies a sequence of file operations that " +"are performed in the child process after the general processing described " +"above, and before it performs the B<exec>(3). If I<file_actions> is NULL, " +"then no special action is taken, and standard B<exec>(3) semantics " +"apply\\[em]file descriptors open before the exec remain open in the new " +"process, except those for which the B<FD_CLOEXEC> flag has been set. File " +"locks remain in place." +msgstr "" +"Аргумент I<file_actions> задаёт последовательность файловых операций, " +"которые выполняются в дочернем процессе после общей обработки, описанной " +"выше, и перед выполнением B<exec>(3). Если I<file_actions> равно NULL, то " +"никаких специальных действий не производится и выполняются стандартные " +"действия B<exec>(3) — файловые дескрипторы, открытые до выполнения exec, " +"остаются открытыми и в новом процессе, за исключением тех, у которых " +"установлен флаг B<FD_CLOEXEC>. Файловые блокировки остаются как были." + +#. FIXME . I think the following is best placed in the +#. posix_spawn_file_actions_adddup2(3) page, and a similar statement is +#. also needed in posix_spawn_file_actions_addclose(3) +#. Note that you can specify file descriptors in +#. .I posix_spawn_file_actions_adddup2 (3) +#. which would not be usable if you called +#. .BR dup2 (2) +#. at that time--i.e., file descriptors that are opened or +#. closed by the earlier operations +#. added to +#. .I file_actions . +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<file_actions> is not NULL, then it contains an ordered set of requests " +"to B<open>(2), B<close>(2), and B<dup2>(2) files. These requests are added " +"to the I<file_actions> by B<posix_spawn_file_actions_addopen>(3), " +"B<posix_spawn_file_actions_addclose>(3), and " +"B<posix_spawn_file_actions_adddup2>(3). The requested operations are " +"performed in the order they were added to I<file_actions>." +msgstr "" +"Если I<file_actions> не равно NULL, то в нём содержится упорядоченный набор " +"запросов B<open>(2), B<close>(2) и B<dup2>(2) на файлы. Эти запросы " +"добавляются в I<file_actions> с помощью " +"B<posix_spawn_file_actions_addopen>(3), " +"B<posix_spawn_file_actions_addclose>(3) и " +"B<posix_spawn_file_actions_adddup2>(3). Запрашиваемые операции выполняются в " +"порядке их добавления в I<file_actions>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If any of the housekeeping actions fails (due to bogus values being passed " +"or other reasons why signal handling, process scheduling, process group ID " +"functions, and file descriptor operations might fail), the child process " +"exits with exit value 127." +msgstr "" +"Если какая-либо обслуживающая операция завершается с ошибкой, (из-за " +"переданных некорректных значений или по другим причинам, из-за которых " +"обработка сигналов, планирование процесса, функции изменения ID группы " +"процесса и операции с файловыми дескрипторами завершается с ошибкой), " +"дочерний процесс завершается с кодом выхода 127." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "exec() step" +msgstr "Шаг exec()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Once the child has successfully forked and performed all requested pre-exec " +"steps, the child runs the requested executable." +msgstr "" +"После того как потомок создан (fork) и выполнены все запрошенные шаги до " +"exec, потомок выполняет запуск запрошенного исполняемого файла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The child process takes its environment from the I<envp> argument, which is " +"interpreted as if it had been passed to B<execve>(2). The arguments to the " +"created process come from the I<argv> argument, which is processed as for " +"B<execve>(2)." +msgstr "" +"Дочерний процесс берёт своё окружение из аргумента I<envp>, которое " +"рассматривается также как если бы оно передавалось в B<execve>(2). Аргументы " +"созданного процесса выбираются из аргумента I<argv>, который обрабатывается " +"также как для B<execve>(2)." + +#. 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 "" +#| "Upon successful completion, B<posix_spawn>() and B<posix_spawnp>() " +#| "place the PID of the child process in I<pid>, and return 0. If there is " +#| "an error before or during the B<fork>(2), then no child is created, the " +#| "contents of I<*pid> are unspecified, and these functions return an error " +#| "number as described below." +msgid "" +"Upon successful completion, B<posix_spawn>() and B<posix_spawnp>() place " +"the PID of the child process in I<pid>, and return 0. If there is an error " +"during the B<fork()> step, then no child is created, the contents of I<*pid> " +"are unspecified, and these functions return an error number as described " +"below." +msgstr "" +"При успешном завершении B<posix_spawn>() и B<posix_spawnp>() помещают PID " +"дочернего процесса в I<pid> и возвращают 0. Если перед или во время " +"B<fork>(2) возникла ошибка, то потомок не создаётся, содержимое I<*pid> " +"неопределенно и функции возвращают номер ошибки (описано далее)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Even when these functions return a success status, the child process may " +"still fail for a plethora of reasons related to its pre-B<exec>() " +"initialization. In addition, the B<exec>(3) may fail. In all of these " +"cases, the child process will exit with the exit value of 127." +msgstr "" +"Даже когда эти функции выполняются без ошибок, дочерний процесс всё ещё " +"может завершиться с ошибкой по многим причинам, касающимся инициализации до " +"B<exec>(). Также, может завершиться ошибкой и B<exec>(3). Во всех этих " +"случаях дочерний процесс завершается с кодом ошибки 127." + +#. 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: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<posix_spawn>() and B<posix_spawnp>() functions fail only in the " +#| "case where the underlying B<fork>(2) or B<vfork>(2) call fails; in " +#| "these cases, these functions return an error number, which will be one of " +#| "the errors described for B<fork>(2) or B<vfork>(2)." +msgid "" +"The B<posix_spawn>() and B<posix_spawnp>() functions fail only in the case " +"where the underlying B<fork>(2), B<vfork>(2), or B<clone>(2) call fails; in " +"these cases, these functions return an error number, which will be one of " +"the errors described for B<fork>(2), B<vfork>(2), or B<clone>(2)." +msgstr "" +"Функции B<posix_spawn>() и B<posix_spawnp>() завершаются с ошибкой, только " +"из-за ошибок в используемых вызовах B<fork>(2) и B<vfork>(2); в этих случаях " +"эти функции возвращают номер ошибки, который может быть одним из описанных в " +"B<fork>(2) или B<vfork>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "In addition, these functions fail if:" +msgstr "Также, эти функции завершаются с ошибкой если:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOSYS>" +msgstr "B<ENOSYS>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Function not supported on this system." +msgstr "Функции не поддерживаются в этой системе." + +#. 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 "ИСТОРИЯ" + +#. FIXME . This piece belongs in spawnattr_setflags(3) +#. The +#. .B POSIX_SPAWN_USEVFORK +#. flag is a GNU extension; the +#. .B _GNU_SOURCE +#. feature test macro must be defined (before including any header files) +#. to obtain the definition of this constant. +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "glibc 2.2. POSIX.1-2001." +msgstr "glibc 2.2. 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 "" +"The housekeeping activities in the child are controlled by the objects " +"pointed to by I<attrp> (for non-file actions) and I<file_actions> In POSIX " +"parlance, the I<posix_spawnattr_t> and I<posix_spawn_file_actions_t> data " +"types are referred to as objects, and their elements are not specified by " +"name. Portable programs should initialize these objects using only the " +"POSIX-specified functions. (In other words, although these objects may be " +"implemented as structures containing fields, portable programs must avoid " +"dependence on such implementation details.)" +msgstr "" +"Обслуживающие действия в потомке управляются объектами, на который указывает " +"I<attrp> (для не файловых действий) и I<file_actions>. В описании POSIX типы " +"данных I<posix_spawnattr_t> и I<posix_spawn_file_actions_t> указываются как " +"объекты, а их элементам не даны имена. Переносимые программы должны " +"инициализировать эти объекты с только помощью функций, определённых в POSIX " +"(другими словами, хотя эти объекты могут быть реализованы как структуры с " +"полями, в переносимых программах нельзя привязываться к такой реализации)." + +#. Tested on glibc 2.12 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "According to POSIX, it unspecified whether fork handlers established with " +#| "B<pthread_atfork>(3) are called when B<posix_spawn>() is invoked. On " +#| "glibc, fork handlers are called only if the child is created using " +#| "B<fork>(2)." +msgid "" +"According to POSIX, it is unspecified whether fork handlers established with " +"B<pthread_atfork>(3) are called when B<posix_spawn>() is invoked. Since " +"glibc 2.24, the fork handlers are not executed in any case. On older " +"implementations, fork handlers are called only if the child is created using " +"B<fork>(2)." +msgstr "" +"В POSIX не определено вызывать ли обработчики fork, установленные с помощью " +"B<pthread_atfork>(3), при вызове B<posix_spawn>(). В glibc обработчики fork " +"вызываются только, если потомок создан с помощью B<fork>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"There is no \"posix_fspawn\" function (i.e., a function that is to " +"B<posix_spawn>() as B<fexecve>(3) is to B<execve>(2)). However, this " +"functionality can be obtained by specifying the I<path> argument as one of " +"the files in the caller's I</proc/self/fd> directory." +msgstr "" +"Не существует функции «posix_fspawn» (т. е., функции типа B<posix_spawn>(), " +"которая вызывала бы B<fexecve>(3) вместо B<execve>(2)). Однако, подобное " +"поведение можно получить указав аргумент I<path> как один из файлов в " +"каталоге I</proc/self/fd> вызывающего." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "ДЕФЕКТЫ" + +#. http://sourceware.org/bugzilla/show_bug.cgi?id=12052 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1 says that when B<POSIX_SPAWN_SETSCHEDULER> is specified in I<spawn-" +"flags>, then the B<POSIX_SPAWN_SETSCHEDPARAM> (if present) is ignored. " +"However, before glibc 2.14, calls to B<posix_spawn>() failed with an error " +"if B<POSIX_SPAWN_SETSCHEDULER> was specified without also specifying " +"B<POSIX_SPAWN_SETSCHEDPARAM>." +msgstr "" +"В POSIX.1 указано, что когда в I<spawn-flags> определён " +"B<POSIX_SPAWN_SETSCHEDULER>, флаг B<POSIX_SPAWN_SETSCHEDPARAM> (если есть) " +"игнорируется. Однако до glibc 2.14 вызов B<posix_spawn>() завершался с " +"ошибкой, если B<POSIX_SPAWN_SETSCHEDULER> был указан, а " +"B<POSIX_SPAWN_SETSCHEDPARAM> отсутствовал." + +#. 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 demonstrates the use of various functions in the POSIX " +"spawn API. The program accepts command-line attributes that can be used to " +"create file actions and attributes objects. The remaining command-line " +"arguments are used as the executable name and command-line arguments of the " +"program that is executed in the child." +msgstr "" +"Представленная далее программа показывает использование различных функций " +"программного интерфейса POSIX для создания процессов. Она принимает атрибуты " +"из командной строки, которые позволяют задать файловые действия и атрибуты " +"объектов при создании. В остальных аргументах командной строки задаются имя " +"исполняемого файла и аргументы командной строки для программы, исполняемой в " +"потомке." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the first run, the B<date>(1) command is executed in the child, and the " +"B<posix_spawn>() call employs no file actions or attributes objects." +msgstr "" +"Здесь для исполнения в потомке указана команда B<date>(1) и вызов " +"B<posix_spawn>() не использует каких-либо файловых действий и атрибутов " +"объекта." + +#. 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 date>\n" +"PID of child: 7634\n" +"Tue Feb 1 19:47:50 CEST 2011\n" +"Child status: exited, status=0\n" +msgstr "" +"$ B<./a.out date>\n" +"PID потомка: 7634\n" +"Tue Feb 1 19:47:50 CEST 2011\n" +"Состояние потомка: завершился, состояние=0\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the next run, the I<-c> command-line option is used to create a file " +"actions object that closes standard output in the child. Consequently, " +"B<date>(1) fails when trying to perform output and exits with a status of 1." +msgstr "" +"Здесь параметром командной строки I<-c> передаётся объект файловых действий, " +"которые закрывают стандартный вывод в потомке. В результате этого B<date>(1) " +"завершается с ошибкой, когда пытается выполнить вывод данных и завершается с " +"кодом состояния 1." + +#. 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 -c date>\n" +"PID of child: 7636\n" +"date: write error: Bad file descriptor\n" +"Child status: exited, status=1\n" +msgstr "" +"$ B<./a.out -c date>\n" +"PID потомка: 7636\n" +"date: write error: Bad file descriptor\n" +"Состояние потомка: завершился, состояние=1\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the next run, the I<-s> command-line option is used to create an " +"attributes object that specifies that all (blockable) signals in the child " +"should be blocked. Consequently, trying to kill child with the default " +"signal sent by B<kill>(1) (i.e., B<SIGTERM>) fails, because that signal is " +"blocked. Therefore, to kill the child, B<SIGKILL> is necessary (B<SIGKILL> " +"can't be blocked)." +msgstr "" +"Здесь используется параметр командной строки I<-s> для создания объекта " +"атрибутов, который используется для блокировки всех сигналов (блокируемых) в " +"потомке. В результате этого попытка убить потомка сигналом по умолчанию (т. " +"е., B<SIGTERM>) с помощью B<kill>(1) завершается ошибкой, так как этот " +"сигнал заблокирован. Теперь, чтобы убить потомка, требуется сигнал " +"B<SIGKILL> (B<SIGKILL> невозможно заблокировать)." + +#. 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 -s sleep 60 &>\n" +"[1] 7637\n" +"$ PID of child: 7638\n" +msgstr "" +"$ B<./a.out -s sleep 60 &>\n" +"[1] 7637\n" +"$ PID потомка: 7638\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$ B<kill 7638>\n" +"$ B<kill -KILL 7638>\n" +"$ Child status: killed by signal 9\n" +"[1]+ Done ./a.out -s sleep 60\n" +msgstr "" +"$ B<kill 7638>\n" +"$ B<kill -KILL 7638>\n" +"$ Состояние потомка: убит по сигналу 9\n" +"[1]+ Done ./a.out -s sleep 60\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When we try to execute a nonexistent command in the child, the B<exec>(3) " +"fails and the child exits with a status of 127." +msgstr "" +"Когда мы пытаемся выполнить в потомке несуществующую команду, B<exec>(3) " +"завершается с ошибкой и потомок завершается с кодом 127." + +#. 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 xxxxx\n" +"PID of child: 10190\n" +"Child status: exited, status=127>\n" +msgstr "" +"$ B<./a.out xxxxx\n" +"PID потомка: 10190\n" +"Состояние потомка: завершился, состояние=127>\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 E<lt>errno.hE<gt>\n" +"#include E<lt>spawn.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"#include E<lt>wait.hE<gt>\n" +"\\&\n" +"#define errExit(msg) do { perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"#define errExitEN(en, msg) \\e\n" +" do { errno = en; perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"char **environ;\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" pid_t child_pid;\n" +" int s, opt, status;\n" +" sigset_t mask;\n" +" posix_spawnattr_t attr;\n" +" posix_spawnattr_t *attrp;\n" +" posix_spawn_file_actions_t file_actions;\n" +" posix_spawn_file_actions_t *file_actionsp;\n" +"\\&\n" +" /* Parse command-line options, which can be used to specify an\n" +" attributes object and file actions object for the child. */\n" +"\\&\n" +" attrp = NULL;\n" +" file_actionsp = NULL;\n" +"\\&\n" +" while ((opt = getopt(argc, argv, \"sc\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]c\\[aq]: /* -c: close standard output in child */\n" +"\\&\n" +" /* Create a file actions object and add a \"close\"\n" +" action to it. */\n" +"\\&\n" +" s = posix_spawn_file_actions_init(&file_actions);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_init\");\n" +"\\&\n" +" s = posix_spawn_file_actions_addclose(&file_actions,\n" +" STDOUT_FILENO);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_addclose\");\n" +"\\&\n" +" file_actionsp = &file_actions;\n" +" break;\n" +"\\&\n" +" case \\[aq]s\\[aq]: /* -s: block all signals in child */\n" +"\\&\n" +" /* Create an attributes object and add a \"set signal mask\"\n" +" action to it. */\n" +"\\&\n" +" s = posix_spawnattr_init(&attr);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_init\");\n" +" s = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setflags\");\n" +"\\&\n" +" sigfillset(&mask);\n" +" s = posix_spawnattr_setsigmask(&attr, &mask);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setsigmask\");\n" +"\\&\n" +" attrp = &attr;\n" +" break;\n" +" }\n" +" }\n" +"\\&\n" +" /* Spawn the child. The name of the program to execute and the\n" +" command-line arguments are taken from the command-line arguments\n" +" of this program. The environment of the program execed in the\n" +" child is made the same as the parent\\[aq]s environment. */\n" +"\\&\n" +" s = posix_spawnp(&child_pid, argv[optind], file_actionsp, attrp,\n" +" &argv[optind], environ);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn\");\n" +"\\&\n" +" /* Destroy any objects that we created earlier. */\n" +"\\&\n" +" if (attrp != NULL) {\n" +" s = posix_spawnattr_destroy(attrp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_destroy\");\n" +" }\n" +"\\&\n" +" if (file_actionsp != NULL) {\n" +" s = posix_spawn_file_actions_destroy(file_actionsp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_destroy\");\n" +" }\n" +"\\&\n" +" printf(\"PID of child: %jd\\en\", (intmax_t) child_pid);\n" +"\\&\n" +" /* Monitor status of the child until it terminates. */\n" +"\\&\n" +" do {\n" +" s = waitpid(child_pid, &status, WUNTRACED | WCONTINUED);\n" +" if (s == -1)\n" +" errExit(\"waitpid\");\n" +"\\&\n" +" printf(\"Child status: \");\n" +" if (WIFEXITED(status)) {\n" +" printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n" +" } else if (WIFSIGNALED(status)) {\n" +" printf(\"killed by signal %d\\en\", WTERMSIG(status));\n" +" } else if (WIFSTOPPED(status)) {\n" +" printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n" +" } else if (WIFCONTINUED(status)) {\n" +" printf(\"continued\\en\");\n" +" }\n" +" } while (!WIFEXITED(status) && !WIFSIGNALED(status));\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<close>(2), B<dup2>(2), B<execl>(2), B<execlp>(2), B<fork>(2), B<open>(2), " +"B<sched_setparam>(2), B<sched_setscheduler>(2), B<setpgid>(2), B<setuid>(2), " +"B<sigaction>(2), B<sigprocmask>(2), B<posix_spawn_file_actions_addclose>(3), " +"B<posix_spawn_file_actions_adddup2>(3), " +"B<posix_spawn_file_actions_addopen>(3), " +"B<posix_spawn_file_actions_destroy>(3), B<posix_spawn_file_actions_init>(3), " +"B<posix_spawnattr_destroy>(3), B<posix_spawnattr_getflags>(3), " +"B<posix_spawnattr_getpgroup>(3), B<posix_spawnattr_getschedparam>(3), " +"B<posix_spawnattr_getschedpolicy>(3), B<posix_spawnattr_getsigdefault>(3), " +"B<posix_spawnattr_getsigmask>(3), B<posix_spawnattr_init>(3), " +"B<posix_spawnattr_setflags>(3), B<posix_spawnattr_setpgroup>(3), " +"B<posix_spawnattr_setschedparam>(3), B<posix_spawnattr_setschedpolicy>(3), " +"B<posix_spawnattr_setsigdefault>(3), B<posix_spawnattr_setsigmask>(3), " +"B<pthread_atfork>(3), I<E<lt>spawn.hE<gt>>, Base Definitions volume of " +"POSIX.1-2001, I<http://www.opengroup.org/unix/online.html>" +msgstr "" +"B<close>(2), B<dup2>(2), B<execl>(2), B<execlp>(2), B<fork>(2), B<open>(2), " +"B<sched_setparam>(2), B<sched_setscheduler>(2), B<setpgid>(2), B<setuid>(2), " +"B<sigaction>(2), B<sigprocmask>(2), B<posix_spawn_file_actions_addclose>(3), " +"B<posix_spawn_file_actions_adddup2>(3), " +"B<posix_spawn_file_actions_addopen>(3), " +"B<posix_spawn_file_actions_destroy>(3), B<posix_spawn_file_actions_init>(3), " +"B<posix_spawnattr_destroy>(3), B<posix_spawnattr_getflags>(3), " +"B<posix_spawnattr_getpgroup>(3), B<posix_spawnattr_getschedparam>(3), " +"B<posix_spawnattr_getschedpolicy>(3), B<posix_spawnattr_getsigdefault>(3), " +"B<posix_spawnattr_getsigmask>(3), B<posix_spawnattr_init>(3), " +"B<posix_spawnattr_setflags>(3), B<posix_spawnattr_setpgroup>(3), " +"B<posix_spawnattr_setschedparam>(3), B<posix_spawnattr_setschedpolicy>(3), " +"B<posix_spawnattr_setsigdefault>(3), B<posix_spawnattr_setsigmask>(3), " +"B<pthread_atfork>(3), I<E<lt>spawn.hE<gt>>, Base Definitions volume of " +"POSIX.1-2001, I<http://www.opengroup.org/unix/online.html>" + +#. 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: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "ВЕРСИИ" + +#. type: Plain text +#: debian-bookworm +msgid "" +"The B<posix_spawn>() and B<posix_spawnp>() functions are available since " +"glibc 2.2." +msgstr "" +"Функции B<posix_spawn>() и B<posix_spawnp>() доступны в glibc начиная с " +"версии 2.2." + +#. FIXME . This piece belongs in spawnattr_setflags(3) +#. The +#. .B POSIX_SPAWN_USEVFORK +#. flag is a GNU extension; the +#. .B _GNU_SOURCE +#. feature test macro must be defined (before including any header files) +#. to obtain the definition of this constant. +#. type: Plain text +#: debian-bookworm +msgid "POSIX.1-2001, POSIX.1-2008." +msgstr "POSIX.1-2001, POSIX.1-2008." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#include E<lt>spawn.hE<gt>\n" +#| "#include E<lt>stdio.hE<gt>\n" +#| "#include E<lt>unistd.hE<gt>\n" +#| "#include E<lt>stdlib.hE<gt>\n" +#| "#include E<lt>string.hE<gt>\n" +#| "#include E<lt>wait.hE<gt>\n" +#| "#include E<lt>errno.hE<gt>\n" +msgid "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>spawn.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"#include E<lt>wait.hE<gt>\n" +msgstr "" +"#include E<lt>spawn.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>wait.hE<gt>\n" +"#include E<lt>errno.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define errExit(msg) do { perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" +msgstr "" +"#define errExit(msg) do { perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define errExitEN(en, msg) \\e\n" +" do { errno = en; perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" +msgstr "" +"#define errExitEN(en, msg) \\e\n" +" do { errno = en; perror(msg); \\e\n" +" exit(EXIT_FAILURE); } while (0)\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "char **environ;\n" +msgstr "char **environ;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" pid_t child_pid;\n" +" int s, opt, status;\n" +" sigset_t mask;\n" +" posix_spawnattr_t attr;\n" +" posix_spawnattr_t *attrp;\n" +" posix_spawn_file_actions_t file_actions;\n" +" posix_spawn_file_actions_t *file_actionsp;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" pid_t child_pid;\n" +" int s, opt, status;\n" +" sigset_t mask;\n" +" posix_spawnattr_t attr;\n" +" posix_spawnattr_t *attrp;\n" +" posix_spawn_file_actions_t file_actions;\n" +" posix_spawn_file_actions_t *file_actionsp;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* Parse command-line options, which can be used to specify an\n" +" attributes object and file actions object for the child. */\n" +msgstr "" +" /* разбор параметров командной строки, которые можно использовать\n" +" в потомке в качестве объекта атрибутов и файловых действий */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" attrp = NULL;\n" +" file_actionsp = NULL;\n" +msgstr "" +" attrp = NULL;\n" +" file_actionsp = NULL;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " while ((opt = getopt(argc, argv, \"sc\")) != -1) {\n" +#| " switch (opt) {\n" +#| " case \\(aqc\\(aq: /* -c: close standard output in child */\n" +msgid "" +" while ((opt = getopt(argc, argv, \"sc\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]c\\[aq]: /* -c: close standard output in child */\n" +msgstr "" +" while ((opt = getopt(argc, argv, \"sc\")) != -1) {\n" +" switch (opt) {\n" +" case \\(aqc\\(aq: /* -c: закрыть стандартный вывод в потомке */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " /* Create a file actions object and add a \"close\"\n" +#| " action to it */\n" +msgid "" +" /* Create a file actions object and add a \"close\"\n" +" action to it. */\n" +msgstr "" +" /* создаём объект файловых действий и добавляем в него\n" +" действие «закрыть» */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = posix_spawn_file_actions_init(&file_actions);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_init\");\n" +msgstr "" +" s = posix_spawn_file_actions_init(&file_actions);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_init\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = posix_spawn_file_actions_addclose(&file_actions,\n" +" STDOUT_FILENO);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_addclose\");\n" +msgstr "" +" s = posix_spawn_file_actions_addclose(&file_actions,\n" +" STDOUT_FILENO);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_addclose\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" file_actionsp = &file_actions;\n" +" break;\n" +msgstr "" +" file_actionsp = &file_actions;\n" +" break;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " case \\(aqs\\(aq: /* -s: block all signals in child */\n" +msgid " case \\[aq]s\\[aq]: /* -s: block all signals in child */\n" +msgstr " case \\(aqs\\(aq: /* -s: блокировать все сигналы в потомке */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " /* Create an attributes object and add a \"set signal mask\"\n" +#| " action to it */\n" +msgid "" +" /* Create an attributes object and add a \"set signal mask\"\n" +" action to it. */\n" +msgstr "" +" /* создаём объект атрибутов и добавляем в него действие \n" +" «назначения сигнальной маски» */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = posix_spawnattr_init(&attr);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_init\");\n" +" s = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setflags\");\n" +msgstr "" +" s = posix_spawnattr_init(&attr);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_init\");\n" +" s = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setflags\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" sigfillset(&mask);\n" +" s = posix_spawnattr_setsigmask(&attr, &mask);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setsigmask\");\n" +msgstr "" +" sigfillset(&mask);\n" +" s = posix_spawnattr_setsigmask(&attr, &mask);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_setsigmask\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" attrp = &attr;\n" +" break;\n" +" }\n" +" }\n" +msgstr "" +" attrp = &attr;\n" +" break;\n" +" }\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " /* Spawn the child. The name of the program to execute and the\n" +#| " command-line arguments are taken from the command-line arguments\n" +#| " of this program. The environment of the program execed in the\n" +#| " child is made the same as the parent\\(aqs environment. */\n" +msgid "" +" /* Spawn the child. The name of the program to execute and the\n" +" command-line arguments are taken from the command-line arguments\n" +" of this program. The environment of the program execed in the\n" +" child is made the same as the parent\\[aq]s environment. */\n" +msgstr "" +" /* Порождение потомка. Имя исполняемой программы и аргументы\n" +" командной строки берутся из аргументов командной строки\n" +" этой программы. Окружение исполняемой программы в потомке\n" +" делается таким же как у родителя. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = posix_spawnp(&child_pid, argv[optind], file_actionsp, attrp,\n" +" &argv[optind], environ);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn\");\n" +msgstr "" +" s = posix_spawnp(&child_pid, argv[optind], file_actionsp, attrp,\n" +" &argv[optind], environ);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " /* Destroy any objects that we created earlier */\n" +msgid " /* Destroy any objects that we created earlier. */\n" +msgstr " /* уничтожаем все объекты, которые мы создали ранее */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (attrp != NULL) {\n" +" s = posix_spawnattr_destroy(attrp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_destroy\");\n" +" }\n" +msgstr "" +" if (attrp != NULL) {\n" +" s = posix_spawnattr_destroy(attrp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawnattr_destroy\");\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (file_actionsp != NULL) {\n" +" s = posix_spawn_file_actions_destroy(file_actionsp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_destroy\");\n" +" }\n" +msgstr "" +" if (file_actionsp != NULL) {\n" +" s = posix_spawn_file_actions_destroy(file_actionsp);\n" +" if (s != 0)\n" +" errExitEN(s, \"posix_spawn_file_actions_destroy\");\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " printf(\"PID of child: %ld\\en\", (long) child_pid);\n" +msgid " printf(\"PID of child: %jd\\en\", (intmax_t) child_pid);\n" +msgstr " printf(\"PID потомка: %ld\\en\", (long) child_pid);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " /* Monitor status of the child until it terminates */\n" +msgid " /* Monitor status of the child until it terminates. */\n" +msgstr " /* отслеживаем состояние потомка до его завершения */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" do {\n" +" s = waitpid(child_pid, &status, WUNTRACED | WCONTINUED);\n" +" if (s == -1)\n" +" errExit(\"waitpid\");\n" +msgstr "" +" do {\n" +" s = waitpid(child_pid, &status, WUNTRACED | WCONTINUED);\n" +" if (s == -1)\n" +" errExit(\"waitpid\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" printf(\"Child status: \");\n" +" if (WIFEXITED(status)) {\n" +" printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n" +" } else if (WIFSIGNALED(status)) {\n" +" printf(\"killed by signal %d\\en\", WTERMSIG(status));\n" +" } else if (WIFSTOPPED(status)) {\n" +" printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n" +" } else if (WIFCONTINUED(status)) {\n" +" printf(\"continued\\en\");\n" +" }\n" +" } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n" +msgstr "" +" printf(\"Состояние потомка: \");\n" +" if (WIFEXITED(status)) {\n" +" printf(\"завершился, состояние=%d\\en\", WEXITSTATUS(status));\n" +" } else if (WIFSIGNALED(status)) {\n" +" printf(\"убит по сигналу %d\\en\", WTERMSIG(status));\n" +" } else if (WIFSTOPPED(status)) {\n" +" printf(\"остановлен по сигналу %d\\en\", WSTOPSIG(status));\n" +" } else if (WIFCONTINUED(status)) {\n" +" printf(\"выполняется\\en\");\n" +" }\n" +" } while (!WIFEXITED(status) && !WIFSIGNALED(status));\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 +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "3 мая 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |