# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Azamat Hackimov , 2014. # Dmitriy S. Seregin , 2013. # Dmitry Bolkhovskikh , 2017. # Katrin Kutepova , 2018. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 05:45+0200\n" "PO-Revision-Date: 2019-10-05 07:56+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 "clone" msgstr "clone" #. 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 "clone, __clone2, clone3 - create a child process" msgstr "clone, __clone2, clone3 - создать процесс-потомок" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "СИНТАКСИС" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "/* Prototype for the glibc wrapper function */\n" msgstr "/* Прототип обёрточной функции glibc */\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<#define _GNU_SOURCE>\n" "B<#include Esched.hE>\n" msgstr "" "B<#define _GNU_SOURCE>\n" "B<#include Esched.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<)(void *), void *>IB<, int >IB<, void *>IB<, ...>\n" #| "B< /* pid_t *>IB<, void *>IB<, pid_t *>IB< */ );>\n" msgid "" "BIB<)(void *_Nullable), void *>IB<, int >IB<,>\n" "B< void *_Nullable >IB<, ...>I< >/*B< pid_t *_Nullable >IB<,>\n" "B< void *_Nullable >IB<,>\n" "B< pid_t *_Nullable >IB< >*/B< );>\n" msgstr "" "BIB<)(void *), void *>IB<, int >IB<, void *>IB<, ...>\n" "B< /* pid_t *>IB<, void *>IB<, pid_t *>IB< */ );>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "/* For the prototype of the raw clone() system call, see NOTES */\n" msgstr "/* для прототипа неструктурированного системного вызова clone(2), смотрите ЗАМЕЧАНИЯ */\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<#include Elinux/sched.hE> /* Definition of B */\n" "B<#include Esched.hE> /* Definition of B constants */\n" "B<#include Esys/syscall.hE> /* Definition of B constants */\n" "B<#include Eunistd.hE>\n" msgstr "" "B<#include Elinux/sched.hE> /* определения B */\n" "B<#include Esched.hE> /* определения констант B */\n" "B<#include Esys/syscall.hE> /* определения констант B */\n" "B<#include Eunistd.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, size_t >IB<);>\n" msgstr "BIB<, size_t >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I: glibc provides no wrapper for B(), necessitating the use of " "B(2)." 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 #, fuzzy #| msgid "" #| "B() creates a new process, in a manner similar to B(2)." msgid "" "These system calls create a new (\"child\") process, in a manner similar to " "B(2)." msgstr "Вызов B() создаёт новый процесс подобно B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By contrast with B(2), these system calls provide more precise control " "over what pieces of execution context are shared between the calling process " "and the child process. For example, using these system calls, the caller " "can control whether or not the two processes share the virtual address " "space, the table of file descriptors, and the table of signal handlers. " "These system calls also allow the new child process to be placed in separate " "B(7)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that in this manual page, \"calling process\" normally corresponds to " "\"parent process\". But see the descriptions of B and " "B below." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "The VT102 also recognized the following control characters:" msgid "This page describes the following interfaces:" msgstr "Тип VT102 также распознает следующие управляющие символы:" #. 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 #, fuzzy #| msgid "" #| "This page describes both the glibc B() wrapper function and the " #| "underlying system call on which it is based. The main text describes the " #| "wrapper function; the differences for the raw system call are described " #| "toward the end of this page." msgid "" "The glibc B() wrapper function and the underlying system call on " "which it is based. The main text describes the wrapper function; the " "differences for the raw system call are described toward the end of this " "page." msgstr "" "Здесь описана обёрточная функция glibc B() и используемый ею " "системный вызов. В основном, описывается обёрточная функция;отличия от " "системного вызова приводятся в конце данной справочной страницы." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "Time of last B(2) system call." msgid "The newer B() system call." msgstr "Время последнего системного вызова B(2)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "In the remainder of this page, the terminology \"the clone call\" is used " "when noting details that apply to all of these interfaces." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "The clone() wrapper function" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "When the child process is created with B(), it commences execution " #| "by calling the function pointed to by the argument I. (This differs " #| "from B(2), where execution continues in the child from the point of " #| "the B(2) call.) The I argument is passed as the argument of " #| "the function I." msgid "" "When the child process is created with the B() wrapper function, it " "commences execution by calling the function pointed to by the argument " "I. (This differs from B(2), where execution continues in the " "child from the point of the B(2) call.) The I argument is " "passed as the argument of the function I." msgstr "" "Когда процесс-потомок создаётся с помощью B(), он начинает выполнение " "с вызова функции, на которую указывает I (это отличается от B(2), " "где выполнение продолжается в потомке от точки вызова B(2)). Аргумент " "I передаётся в функцию I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When the I(I) function returns, the child process terminates. The " "integer returned by I is the exit status for the child process. The " "child process may also terminate explicitly by calling B(2) or after " "receiving a fatal signal." msgstr "" "Когда происходит возврат из функции I(I) процесс-потомок " "завершается. Целое значение, возвращаемое I, является состоянием выхода " "процесса-потомка. Процесс-потомок может также быть завершён явным образом с " "помощью вызова B(2) или после получения завершающего сигнала." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The I argument specifies the location of the stack used by " #| "the child process. Since the child and calling process may share memory, " #| "it is not possible for the child process to execute in the same stack as " #| "the calling process. The calling process must therefore set up memory " #| "space for the child stack and pass a pointer to this space to " #| "B(). Stacks grow downward on all processors that run Linux " #| "(except the HP PA processors), so I usually points to the " #| "topmost address of the memory space set up for the child stack." msgid "" "The I argument specifies the location of the stack used by the child " "process. Since the child and calling process may share memory, it is not " "possible for the child process to execute in the same stack as the calling " "process. The calling process must therefore set up memory space for the " "child stack and pass a pointer to this space to B(). Stacks grow " "downward on all processors that run Linux (except the HP PA processors), so " "I usually points to the topmost address of the memory space set up " "for the child stack. Note that B() does not provide a means whereby " "the caller can inform the kernel of the size of the stack area." msgstr "" "Аргумент I задаёт положение стека, используемого процессом-" "потомком. Так как процесс-потомок и вызывающий процесс могут использовать " "общую память, процесс-потомок не может выполняться в том же стеке, что и " "вызывающий процесс. Поэтому вызывающий процесс должен установить " "пространство памяти для стека процесса-потомка и передать указатель на это " "пространство в вызове B(). Стеки растут вниз для всех процессоров, на " "которых работает Linux (за исключением процессоров HP PA), так что " "I, обычно, указывает на наибольший адрес в пространстве памяти, " "которое устанавливается для стека процесса-потомка." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "The more general errors for B() are listed below." msgid "The remaining arguments to B() are discussed below." msgstr "Наиболее распространённые ошибки B() перечислены далее." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "clone3()" msgstr "clone3()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() system call provides a superset of the functionality of the " "older B() interface. It also provides a number of API improvements, " "including: space for additional flags bits; cleaner separation in the use of " "various arguments; and the ability to specify the size of the child's stack " "area." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As with B(2), B() returns in both the parent and the child. " "It returns 0 in the child process and returns the PID of the child in the " "parent." 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 argument must include one of the following values:" msgid "" "The I argument of B() is a structure of the following form:" msgstr "Аргумент I должен включать одно из следующих значений:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct clone_args {\n" " u64 flags; /* Flags bit mask */\n" " u64 pidfd; /* Where to store PID file descriptor\n" " (I) */\n" " u64 child_tid; /* Where to store child TID,\n" " in child\\[aq]s memory (I) */\n" " u64 parent_tid; /* Where to store child TID,\n" " in parent\\[aq]s memory (I) */\n" " u64 exit_signal; /* Signal to deliver to parent on\n" " child termination */\n" " u64 stack; /* Pointer to lowest byte of stack */\n" " u64 stack_size; /* Size of stack */\n" " u64 tls; /* Location of new TLS */\n" " u64 set_tid; /* Pointer to a I array\n" " (since Linux 5.5) */\n" " u64 set_tid_size; /* Number of elements in I\n" " (since Linux 5.5) */\n" " u64 cgroup; /* File descriptor for target cgroup\n" " of child (since Linux 5.7) */\n" "};\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument that is supplied to B() should be initialized " "to the size of this structure. (The existence of the I argument " "permits future extensions to the I structure.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The stack for the child process is specified via I, which " "points to the lowest byte of the stack area, and I, " "which specifies the size of the stack in bytes. In the case where the " "B flag (see below) is specified, a stack must be explicitly " "allocated and specified. Otherwise, these two fields can be specified as " "NULL and 0, which causes the child to use the same stack area as the parent " "(in the child's own virtual address space)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The remaining fields in the I argument are discussed below." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Equivalence between clone() and clone3() arguments" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Unlike the older B() interface, where arguments are passed " "individually, in the newer B() interface the arguments are packaged " "into the I structure shown above. This structure allows for a " "superset of the information passed via the B() arguments." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following table shows the equivalence between the arguments of " "B() and the fields in the I argument supplied to " "B():" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "clone()" msgstr "clone()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Notes" msgstr "Примечания" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "I is invalid." msgid "I field" msgstr "Значение I неверно." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "flags & \\(ti0xff" msgid "flags & \\[ti]0xff" msgstr "flags & \\(ti0xff" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "flag" msgid "flags" msgstr "флаг" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "For most flags; details below" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "parent_tid" msgstr "parent_tid" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "pidfd" msgstr "pidfd" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See CLONE_PIDFD" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "child_tid" msgstr "child_tid" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See CLONE_CHILD_SETTID" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See CLONE_PARENT_SETTID" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "flags & 0xff" msgstr "flags & 0xff" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "exit_signal" msgstr "exit_signal" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "stack" msgstr "stack" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I<--->" msgstr "I<--->" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "stack_size" msgstr "stack_size" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "tls" msgstr "tls" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See CLONE_SETTLS" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "set_tid" msgstr "set_tid" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See below for details" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "set_tid_size" msgstr "set_tid_size" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "cgroup" msgstr "cgroup" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "See CLONE_INTO_CGROUP" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "The child termination signal" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The low byte of I contains the number of the I " #| "sent to the parent when the child dies. If this signal is specified as " #| "anything other than B, then the parent process must specify the " #| "B<__WALL> or B<__WCLONE> options when waiting for the child with " #| "B(2). If no signal is specified, then the parent process is not " #| "signaled when the child terminates." msgid "" "When the child process terminates, a signal may be sent to the parent. The " "termination signal is specified in the low byte of I (B()) or " "in I (B()). If this signal is specified as " "anything other than B, then the parent process must specify the " "B<__WALL> or B<__WCLONE> options when waiting for the child with " "B(2). If no signal (i.e., zero) is specified, then the parent process " "is not signaled when the child terminates." msgstr "" "Младший байт I содержит номер I<сигнала завершения>, который " "посылается родителю, когда работа потомка завершается. Если этот сигнал " "задаётся как нечто отличное от B, то родительский процесс должен " "задать параметр B<__WALL> или B<__WCLONE> при ожидании завершения работы " "потомка с помощью вызова B(2). Если никакой сигнал не задан, то " "родительский процесс не извещается сигналом, когда потомок завершается." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "The set_tid array" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, the kernel chooses the next sequential PID for the new process " "in each of the PID namespaces where it is present. When creating a process " "with B(), the I array (available since Linux 5.5) can be " "used to select specific PIDs for the process in some or all of the PID " "namespaces where it is present. If the PID of the newly created process " "should be set only for the current PID namespace or in the newly created PID " "namespace (if I contains B) then the first element in " "the I array has to be the desired PID and I needs to " "be 1." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the PID of the newly created process should have a certain value in " "multiple PID namespaces, then the I array can have multiple " "entries. The first entry defines the PID in the most deeply nested PID " "namespace and each of the following entries contains the PID in the " "corresponding ancestor PID namespace. The number of PID namespaces in which " "a PID should be set is defined by I which cannot be larger " "than the number of currently nested PID namespaces." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To create a process with the following PIDs in a PID namespace hierarchy:" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PID NS level" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Request" msgid "Requested PID" msgstr "Запрос" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "0" msgstr "0" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "31496" msgstr "31496" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Mount namespaces" msgid "Outermost PID namespace" msgstr "Пространства имён монтирования" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "1" msgstr "1" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "42" msgstr "42" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "2" msgstr "2" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "7" msgstr "7" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "IPC namespaces" msgid "Innermost PID namespace" msgstr "Пространства имён IPC" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Set the array to:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "set_tid[0] = 7;\n" "set_tid[1] = 42;\n" "set_tid[2] = 31496;\n" "set_tid_size = 3;\n" msgstr "" "set_tid[0] = 7;\n" "set_tid[1] = 42;\n" "set_tid[2] = 31496;\n" "set_tid_size = 3;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If only the PIDs in the two innermost PID namespaces need to be specified, " "set the array to:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "set_tid[0] = 7;\n" "set_tid[1] = 42;\n" "set_tid_size = 2;\n" msgstr "" "set_tid[0] = 7;\n" "set_tid[1] = 42;\n" "set_tid_size = 2;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The PID in the PID namespaces outside the two innermost PID namespaces is " "selected the same way as any other PID is selected." msgstr "" #. commit 124ea650d3072b005457faed69909221c2905a1f #. commit 1caef81da05a84a40dbf02110e967ce6d1135ff6 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I feature requires B or (since Linux 5.9) " "B in all owning user namespaces of the target PID " "namespaces." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Callers may only choose a PID greater than 1 in a given PID namespace if an " "B process (i.e., a process with PID 1) already exists in that " "namespace. Otherwise the PID entry for this PID namespace must be 1." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "The flags argument" msgid "The flags mask" msgstr "Аргумент флагов" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Both B() and B() allow a flags bit mask that modifies their " "behavior and allows the caller to specify what is shared between the calling " "process and the child process. This bit mask\\[em]the I argument of " "B() or the I field passed to B()\\[em]is " "referred to as the I mask in the remainder of this page." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The I mask is specified as a bitwise OR of zero or more of the " "constants listed below. Except as noted below, these flags are available " "(and have the same effect) in both B() and B()." 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.5.49)" msgstr "B (начиная с Linux 2.5.49)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Clear (zero) the child thread ID at the location I in child memory " #| "when the child exits, and do a wakeup on the futex at that address. The " #| "address involved may be changed by the B(2) system " #| "call. This is used by threading libraries." msgid "" "Clear (zero) the child thread ID at the location pointed to by I " "(B()) or I (B()) in child memory when " "the child exits, and do a wakeup on the futex at that address. The address " "involved may be changed by the B(2) system call. This is " "used by threading libraries." msgstr "" "Очистить (обнулить) идентификатор (ID) нити потомка, расположенный в I " "в памяти потомка, если потомок существует, и активизировать futex по этому " "адресу. Соответствующий адрес может быть изменён системным вызовом " "B(2). Используется в библиотеках работы с нитями." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "B (начиная с Linux 2.5.49)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Store the child thread ID at the location I in the child's memory. " #| "The store operation completes before B() returns control to user " #| "space in the child process. (Note that the store operation may not have " #| "completed before B() returns in the parent process, which will be " #| "relevant if the B flag is also employed.)" msgid "" "Store the child thread ID at the location pointed to by I " "(B()) or I (B()) in the child's memory. " "The store operation completes before the clone call returns control to user " "space in the child process. (Note that the store operation may not have " "completed before the clone call returns in the parent process, which is " "relevant if the B flag is also employed.)" msgstr "" "Сохранить ID нити потомка в указанном I месте в памяти потомка. " "Операция сохранения завершается до возврата управления из B() в " "пользовательское пространство процесса потомка (заметим, что операция " "сохранения может не завершиться до возврата B() в родительском " "процессе, что произойдёт даже с указанным флагом B)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.5)" msgstr "B (начиная с Linux 5.5)" #. commit b612e5df4587c934bd056bf05f4a1deca4de4f75 #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "By default, signal dispositions in the child thread are the same as in the " "parent. If this flag is specified, then all signals that are handled in the " "parent (and not set to B) are reset to their default dispositions " "(B) in the child." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Specifying this flag together with B is nonsensical and " "disallowed." 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 (since Linux 2.2)" msgid "B (historical)" msgstr "B (начиная с Linux 2.2)" #. added in Linux 2.5.32; removed in Linux 2.6.0-test4 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For a while (during the Linux 2.5 development series) there was a " "B flag, which caused the parent not to receive a signal when " "the child terminated. Ultimately, the effect of this flag was subsumed " "under the B flag and by the time Linux 2.6.0 was released, " "this flag had no effect. Starting in Linux 2.6.2, the need to give this " "flag together with B disappeared." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is still defined, but it is usually ignored when calling " "B(). However, see the description of B for some " "exceptions." 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.0)" msgstr "B (начиная с Linux 2.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the calling process and the child process share " "the same file descriptor table. Any file descriptor created by the calling " "process or by the child process is also valid in the other process. " "Similarly, if one of the processes closes a file descriptor, or changes its " "associated flags (using the B(2) B operation), the other " "process is also affected. If a process sharing a file descriptor table " "calls B(2), its file descriptor table is duplicated (unshared)." msgstr "" "Если задан флаг B, то вызывающий процесс и процесс-потомок " "используют одну и ту же таблицу файловых дескрипторов. Любые файловые " "дескрипторы, создаваемые вызывающим процессом или процессом-потомком, также " "доступны и в другом процессе. Аналогично, если один из процессов закрывает " "файловый дескриптор или изменяет ассоциированные с ним флаги (с помощью " "B(2) операцией B), то это оказывает влияние и на другой " "процесс. Если процесс использующий общую таблицу файловых дескрипторов " "вызывает B(2), то таблица файловых дескрипторов копируется в " "отдельную (не общую)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is not set, the child process inherits a copy of all " #| "file descriptors opened in the calling process at the time of " #| "B(). Subsequent operations that open or close file descriptors, " #| "or change file descriptor flags, performed by either the calling process " #| "or the child process do not affect the other process. Note, however, " #| "that the duplicated file descriptors in the child refer to the same open " #| "file descriptions as the corresponding file descriptors in the calling " #| "process, and thus share file offsets and file status flags (see " #| "B(2))." msgid "" "If B is not set, the child process inherits a copy of all file " "descriptors opened in the calling process at the time of the clone call. " "Subsequent operations that open or close file descriptors, or change file " "descriptor flags, performed by either the calling process or the child " "process do not affect the other process. Note, however, that the duplicated " "file descriptors in the child refer to the same open file descriptions as " "the corresponding file descriptors in the calling process, and thus share " "file offsets and file status flags (see B(2))." msgstr "" "Если флаг B не задан, то процесс-потомок наследует копии всех " "файловых дескрипторов, открытых в вызывающем процессе на момент вызова " "B(). Последующие операции над файловыми дескрипторами по открытию и " "закрытию файлов или изменению флагов файловых дескрипторов, выполняемые " "вызывающим процессом или процессом-потомком, не оказывают эффекта на другой " "процесс. Заметим, что дублируемые файловые дескрипторы в потомке указывают " "на те же открытые файловые дескрипторы что и файловые дескрипторы " "вызывающего процесса и, таким образом, файловые смещения и флаги состояния " "файла используются совместно (смотрите B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.0)" msgstr "B (начиная с Linux 2.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the caller and the child process share the same " "filesystem information. This includes the root of the filesystem, the " "current working directory, and the umask. Any call to B(2), " "B(2), or B(2) performed by the calling process or the child " "process also affects the other process." msgstr "" "Если задан флаг B, то вызывающий процесс и процесс-потомок " "используют одну и ту же информацию о файловой системе. К ней относится " "корневой каталог файловой системы, текущий рабочий каталог и значение umask. " "Любой вызов, B(2), B(2) или B(2), выполняемый одним " "процессом, оказывает влияние и на другой." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is not set, the child process works on a copy of the " #| "filesystem information of the calling process at the time of the " #| "B() call. Calls to B(2), B(2), or B(2) " #| "performed later by one of the processes do not affect the other process." msgid "" "If B is not set, the child process works on a copy of the " "filesystem information of the calling process at the time of the clone " "call. Calls to B(2), B(2), or B(2) performed later " "by one of the processes do not affect the other process." msgstr "" "Если флаг B не задан, то процесс-потомок работает с копией " "информации о файловой системе вызывающего процесса, снятой на момент вызова " "B(). Вызовы B(2), B(2) или B(2), выполняемые " "позже одним из процессов, не оказывают эффект на другой процесс." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.7)" msgstr "B (начиная с Linux 5.7)" #. commit ef2c41cf38a7559bbf91af42d5b6a4429db8fc68 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, a child process is placed in the same version 2 cgroup as its " "parent. The B flag allows the child process to be " "created in a different version 2 cgroup. (Note that B " "has effect only for version 2 cgroups.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In order to place the child process in a different cgroup, the caller " "specifies B in I and passes a file " "descriptor that refers to a version 2 cgroup in the I " "field. (This file descriptor can be obtained by opening a cgroup v2 " "directory using either the B or the B flag.) Note that " "all of the usual restrictions (described in B(7)) on placing a " "process into a version 2 cgroup apply." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Among the possible use cases for B are the following:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Spawning a process into a cgroup different from the parent's cgroup makes it " "possible for a service manager to directly spawn new services into dedicated " "cgroups. This eliminates the accounting jitter that would be caused if the " "child process was first created in the same cgroup as the parent and then " "moved into the target cgroup. Furthermore, spawning the child process " "directly into a target cgroup is significantly cheaper than moving the child " "process into the target cgroup after it has been created." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B flag also allows the creation of frozen child " "processes by spawning them into a frozen cgroup. (See B(7) for a " "description of the freezer controller.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For threaded applications (or even thread implementations which make use of " "cgroups to limit individual threads), it is possible to establish a fixed " "cgroup layout before spawning each thread directly into its target cgroup." 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.25)" msgstr "B (начиная Linux 2.6.25)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then the new process shares an I/O context with the " "calling process. If this flag is not set, then (as with B(2)) the " "new process has its own I/O context." msgstr "" "Если задан флаг B, то новый процесс использует общий контекст " "ввода-вывода с вызывающим процессом. Если этот флаг не установлен, то (как и " "в B(2)) новый процесс будет иметь свой отдельный контекст ввода-вывода." #. The following based on text from Jens Axboe #. the anticipatory and CFQ scheduler #. with CFQ and AS. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I/O context is the I/O scope of the disk scheduler (i.e., what the I/O " "scheduler uses to model scheduling of a process's I/O). If processes share " "the same I/O context, they are treated as one by the I/O scheduler. As a " "consequence, they get to share disk time. For some I/O schedulers, if two " "processes share an I/O context, they will be allowed to interleave their " "disk access. If several threads are doing I/O on behalf of the same process " "(B(3), for instance), they should employ B to get better " "I/O performance." msgstr "" "Контекст ввода-вывода — это область ввода-вывода в дисковом планировщике (т. " "е. то, что планировщик ввода-вывода использует при планировании ввода-вывода " "процесса). Если процессы используют общий контекст ввода-вывода, то они " "рассматриваются планировщиком ввода-вывода как один. Следовательно, они " "совместно делят время доступа к диску. У некоторых планировщиков ввода-" "вывода, если два процесса используют общий контекст ввода-вывода, то им " "будет разрешено чередовать доступ к диску. Если несколько нитей выполняют " "ввод-вывод из одного процесса (например, B(3)), то для них нужно " "указать B для получения большей производительности ввода-вывода." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the kernel is not configured with the B option, this flag " "is a no-op." msgstr "" "Если в ядре не указан параметр сборки B, то этот флаг ни на " "что не влияет." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.6)" msgstr "B (начиная с Linux 4.6)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is set, then create the process in a new user " #| "namespace. If this flag is not set, then (as with B(2)) the " #| "process is created in the same user namespace as the calling process." msgid "" "Create the process in a new cgroup namespace. If this flag is not set, then " "(as with B(2)) the process is created in the same cgroup namespaces " "as the calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён пользователя. Если флаг не установлен, то (как и в B(2)), процесс " "создаётся в том же пространстве имён пользователя, что и вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For further information on cgroup namespaces, see B(7)." msgstr "" "Дополнительную информацию о пространствах имён cgroup смотрите в " "B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only a privileged process (B) can employ B." 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 2.6.19)" msgstr "B (начиная с Linux 2.6.19)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is set, then create the process in a new user " #| "namespace. If this flag is not set, then (as with B(2)) the " #| "process is created in the same user namespace as the calling process." msgid "" "If B is set, then create the process in a new IPC namespace. " "If this flag is not set, then (as with B(2)), the process is created " "in the same IPC namespace as the calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён пользователя. Если флаг не установлен, то (как и в B(2)), процесс " "создаётся в том же пространстве имён пользователя, что и вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "For further information on IPC namespaces, see B(7)." msgstr "" "Дополнительную информацию о пространствах имён IPC смотрите в " "B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only a privileged process (B) can employ B. " "This flag can't be specified in conjunction with B." msgstr "" "Только привилегированный процесс (B) может использовать " "B. Этот флаг нельзя указывать вместе с B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "B (начиная с Linux 2.6.24)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "(The implementation of this flag was completed only by about kernel " #| "version 2.6.29.)" msgid "" "(The implementation of this flag was completed only by about Linux 2.6.29.)" msgstr "(Реализация этого флага завершена только в Linux 2.6.29.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is set, then create the process in a new user " #| "namespace. If this flag is not set, then (as with B(2)) the " #| "process is created in the same user namespace as the calling process." msgid "" "If B is set, then create the process in a new network " "namespace. If this flag is not set, then (as with B(2)) the process " "is created in the same network namespace as the calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён пользователя. Если флаг не установлен, то (как и в B(2)), процесс " "создаётся в том же пространстве имён пользователя, что и вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "For further information on IPC namespaces, see B(7)." msgid "" "For further information on network namespaces, see B(7)." msgstr "" "Дополнительную информацию о пространствах имён IPC смотрите в " "B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only a privileged process (B) can employ B." 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 2.4.19)" msgstr "B (начиная с Linux 2.4.19)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the cloned child is started in a new mount " "namespace, initialized with a copy of the namespace of the parent. If " "B is not set, the child lives in the same mount namespace as " "the parent." msgstr "" "Если указан флаг B, то клонированный потомок запускается в " "новом пространстве имён монтирования, инициализированном копией пространства " "имён родителя. Если B не указан, то потомок остаётся в том же " "пространстве имён монтирования что и родитель." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For further information on mount namespaces, see B(7) and " "B(7)." msgstr "" "Дополнительную информацию о пространствах имён монтирования смотрите в " "B(7) и B(7)." #. See https://lwn.net/Articles/543273/ #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Only a privileged process (B) can employ B. " #| "It is not permitted to specify both B and B in the " #| "same B() call." msgid "" "Only a privileged process (B) can employ B. It " "is not permitted to specify both B and B in the same " "clone call." msgstr "" "Только привилегированный процесс (имеющий мандат B) может " "использовать B. Не допускается совместное использование флагов " "B и B в одном вызове B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "B (начиная с Linux 2.6.24)" #. This explanation draws a lot of details from #. http://lwn.net/Articles/259217/ #. Authors: Pavel Emelyanov #. and Kir Kolyshkin #. The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264 #. Author: Pavel Emelyanov #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is set, then create the process in a new user " #| "namespace. If this flag is not set, then (as with B(2)) the " #| "process is created in the same user namespace as the calling process." msgid "" "If B is set, then create the process in a new PID namespace. " "If this flag is not set, then (as with B(2)) the process is created " "in the same PID namespace as the calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён пользователя. Если флаг не установлен, то (как и в B(2)), процесс " "создаётся в том же пространстве имён пользователя, что и вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For further information on PID namespaces, see B(7) and " "B(7)." msgstr "" "Дополнительную информацию о пространствах имён PID смотрите в " "B(7) и B(7)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Only a privileged process (B) can employ " #| "B. This flag can't be specified in conjunction with " #| "B." msgid "" "Only a privileged process (B) can employ B. " "This flag can't be specified in conjunction with B." msgstr "" "Только привилегированный процесс (B) может использовать " "B. Этот флаг нельзя указывать вместе с B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(This flag first became meaningful for B() in Linux 2.6.23, the " "current B() semantics were merged in Linux 3.5, and the final pieces " "to make the user namespaces completely usable were merged in Linux 3.8.)" msgstr "" "(Впервые этот флаг приобрёл значение для B() в Linux 2.6.23, текущая " "семантика B() появилась в Linux 3.5, а оставшиеся части, делающие " "пространства имён пользователя полностью работоспособными, включены в Linux " "3.8.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then create the process in a new user " "namespace. If this flag is not set, then (as with B(2)) the process " "is created in the same user namespace as the calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён пользователя. Если флаг не установлен, то (как и в B(2)), процесс " "создаётся в том же пространстве имён пользователя, что и вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For further information on user namespaces, see B(7) and " "B(7)." msgstr "" "Дополнительную информацию о пространствах имён пользователя смотрите в " "B(7) и B(7)." #. Before Linux 2.6.29, it appears that only CAP_SYS_ADMIN was needed #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 3.8, use of B required that the caller have " "three capabilities: B, B, and B. " "Starting with Linux 3.8, no privileges are needed to create a user namespace." msgstr "" "До Linux 3.8, для использования B у вызывающего требовалось " "три мандата: B, B и B. Начиная с " "Linux 3.8, для создания пространства имён пользователя никаких привилегий не " "требуется." #. commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71 #. https://lwn.net/Articles/543273/ #. The fix actually went into Linux 3.9 and into Linux 3.8.3. However, user namespaces #. were, for practical purposes, unusable in earlier Linux 3.8.x because of the #. various filesystems that didn't support userns. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag can't be specified in conjunction with B or " "B. For security reasons, B cannot be specified " "in conjunction with B." msgstr "" "Этот флаг нельзя указывать вместе с B или B. По " "соображениям безопасности, B нельзя указывать вместе с " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "B (начиная с Linux 2.6.19)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then create the process in a new UTS namespace, " "whose identifiers are initialized by duplicating the identifiers from the " "UTS namespace of the calling process. If this flag is not set, then (as " "with B(2)) the process is created in the same UTS namespace as the " "calling process." msgstr "" "Если задан флаг B, то процесс создаётся в новом пространстве " "имён UTS, чьи идентификаторы инициализируются копией идентификаторов из " "пространства имён UTS вызывающего процесса. Если флаг не указан, то (как и в " "B(2)), процесс создаётся в том же пространстве имён UTS что и " "вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "For further information on UTS namespaces, see B(7)." msgstr "" "Дополнительную информацию о пространствах имён UTS смотрите в " "B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only a privileged process (B) can employ B." 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 2.3.12)" msgstr "B (начиная с Linux 2.3.12)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then the parent of the new child (as returned by " "B(2)) will be the same as that of the calling process." msgstr "" "Если задан флаг B, то родитель нового потомка (возвращаемый " "B(2)) будет таким же как и у вызывающего процесса." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is not set, then (as with B(2)) the child's parent " "is the calling process." msgstr "" "Если флаг B не задан, то (как и в B(2)) родителем будет " "вызывающий процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Note that it is the parent process, as returned by B(2), which " #| "is signaled when the child terminates, so that if B is set, " #| "then the parent of the calling process, rather than the calling process " #| "itself, will be signaled." msgid "" "Note that it is the parent process, as returned by B(2), which is " "signaled when the child terminates, so that if B is set, then " "the parent of the calling process, rather than the calling process itself, " "is signaled." msgstr "" "Заметим, что это тот родительский процесс, который возвращается вызовом " "B(2), и которому приходит сигнал когда потомок завершается, так что " "если указан флаг B, то сигнал будет посылаться родителю " "вызывающего процесса, а не самому вызывающему процессу." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B flag can't be used in clone calls by the global init " "process (PID 1 in the initial PID namespace) and init processes in other " "PID namespaces. This restriction prevents the creation of multi-rooted " "process trees as well as the creation of unreapable zombies in the initial " "PID namespace." 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.5.49)" msgstr "B (начиная с Linux 2.5.49)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Store the child thread ID at the location I in the parent's " #| "memory. (In Linux 2.5.32-2.5.48 there was a flag B that " #| "did this.) The store operation completes before B() returns " #| "control to user space." msgid "" "Store the child thread ID at the location pointed to by I " "(B()) or I (B()) in the parent's " "memory. (In Linux 2.5.32-2.5.48 there was a flag B that did " "this.) The store operation completes before the clone call returns control " "to user space." msgstr "" "Сохранить ID нити потомка, расположенный в I в памяти родителя (в " "Linux 2.5.32-2.5.48 для этого использовался флаг B). Операция " "сохранения завершается до возврата управления из B() в " "пользовательское пространство." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B (Linux 2.0 to 2.5.15)" msgid "B (Linux 2.0 to Linux 2.5.15)" msgstr "B (в Linux 2.0 по 2.5.15)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is set, the child process is created with the same " #| "process ID as the calling process. This is good for hacking the system, " #| "but otherwise of not much use. From Linux 2.3.21 onward, this flag could " #| "be specified only by the system boot process (PID 0). The flag " #| "disappeared completely from the kernel sources in Linux 2.5.16. Since " #| "then, the kernel silently ignores this bit if it is specified in I." msgid "" "If B is set, the child process is created with the same process " "ID as the calling process. This is good for hacking the system, but " "otherwise of not much use. From Linux 2.3.21 onward, this flag could be " "specified only by the system boot process (PID 0). The flag disappeared " "completely from the kernel sources in Linux 2.5.16. Subsequently, the " "kernel silently ignored this bit if it was specified in the I mask. " "Much later, the same bit was recycled for use as the B flag." msgstr "" "Если задан флаг B, то процесс-потомок создаётся с таким же " "идентификатором процесса как у вызывающего процесса. Это хорошо для " "ковыряния в системе, но не более того. Начиная с 2.3.21 этот флаг может быть " "указан только у процесса загрузки системы (PID 0). Флаг полностью удалён из " "исходного кода в Linux 2.5.16. Начиная с этой версии, ядро просто игнорирует " "этот бит, если он установлен в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 5.2)" msgstr "B (начиная с Linux 5.2)" #. commit b3e5838252665ee4cfa76b82bdf1198dca81e5be #. 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 specified, a PID file descriptor referring to the child " "process is allocated and placed at a specified location in the parent's " "memory. The close-on-exec flag is set on this new file descriptor. PID " "file descriptors can be used for the purposes described in B(2)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When using B(), the PID file descriptor is placed at the location " "pointed to by I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When using B(), the PID file descriptor is placed at the location " "pointed to by I. Since the I argument is used to " "return the PID file descriptor, B cannot be used with " "B when calling B()." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It is currently not possible to use this flag together with B " "This means that the process identified by the PID file descriptor will " "always be a thread group leader." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the obsolete B flag is specified alongside B " "when calling B(), an error is returned. An error also results if " "B is specified when calling B(). This error " "behavior ensures that the bit corresponding to B can be " "reused for further PID file descriptor features in the future." 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.2)" msgstr "B (начиная с Linux 2.2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is specified, and the calling process is being traced, " "then trace the child also (see B(2))." msgstr "" "Если задан флаг B и вызывающий процесс находится в режиме " "трассировки, то процесс-потомок также будет работать в режиме трассировки " "(см. B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.32)" msgstr "B (начиная с Linux 2.5.32)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The TLS (Thread Local Storage) descriptor is set to I." msgstr "Дескриптор TLS (локальная память нитей) помещается в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The interpretation of I and the resulting effect is architecture " #| "dependent. On x86, I is interpreted as a I " #| "(see B(2)). On x86-64 it is the new value to be set for " #| "the %fs base register (see the B argument to " #| "B(2)). On architectures with a dedicated TLS register, it is " #| "the new value of that register." msgid "" "The interpretation of I and the resulting effect is architecture " "dependent. On x86, I is interpreted as a I (see " "B(2)). On x86-64 it is the new value to be set for the %fs " "base register (see the B argument to B(2)). On " "architectures with a dedicated TLS register, it is the new value of that " "register." msgstr "" "Назначение I и его влияние на результат зависит от архитектуры. На x86 " "I рассматривается как I (смотрите " "B(2)). На x86_64 это новое значение будет присвоено " "базовому регистру %fs (смотрите описание B в B(2)). " "На архитектурах с отдельным регистром для TLS это новое значение помещается " "в этот регистр." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Use of this flag requires detailed knowledge and generally it should not be " "used except in libraries implementing threading." 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.0)" msgstr "B (начиная с Linux 2.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the calling process and the child process share " "the same table of signal handlers. If the calling process or child process " "calls B(2) to change the behavior associated with a signal, the " "behavior is changed in the other process as well. However, the calling " "process and child processes still have distinct signal masks and sets of " "pending signals. So, one of them may block or unblock signals using " "B(2) without affecting the other process." msgstr "" "Если задан флаг B, то вызывающий процесс и процесс-потомок " "используют одну и ту же таблицу обработчиков сигналов. Если вызывающий " "процесс или процесс-потомок вызывают B(2) для изменения поведения " "при получении сигнала, то это поведение изменяется также и в другом " "процессе. Однако, вызывающий процесс и процесс-потомок имеют различные маски " "сигналов и списки ожидающих обработки сигналов. Так, один из них может " "блокировать или деблокировать сигналы, используя B(2), и это не " "будет влиять на другой процесс." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is not set, the child process inherits a copy of the " #| "signal handlers of the calling process at the time B() is " #| "called. Calls to B(2) performed later by one of the " #| "processes have no effect on the other process." msgid "" "If B is not set, the child process inherits a copy of the " "signal handlers of the calling process at the time of the clone call. Calls " "to B(2) performed later by one of the processes have no effect " "on the other process." msgstr "" "Если флаг B не указан, то процесс-потомок наследует копию " "обработчиков событий вызывающего процесса, снятую на момент вызова " "B(). Вызовы B(2), выполняемые позже одним из процессов, не " "оказывают влияния на другой процесс." #. Precisely: Linux 2.6.0-test6 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Since Linux 2.6.0, I must also include B if " #| "B is specified" msgid "" "Since Linux 2.6.0, the I mask must also include B if " "B is specified." msgstr "" "Начиная с Linux 2.6.0, аргумент I должен также включать B, " "если указан флаг B" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.0)" msgstr "B (начиная с Linux 2.6.0)" #. Precisely: Linux 2.6.0-test2 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then the child is initially stopped (as though " "it was sent a B signal), and must be resumed by sending it a " "B signal." msgstr "" "Если указан флаг B, то после создания потомок перейдёт в " "состояние останова (как если бы ему послали сигнал B), и начнёт " "работу по сигналу B." #. glibc 2.8 removed this defn from bits/sched.h #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag was I from Linux 2.6.25 onward, and was I " "altogether in Linux 2.6.38. Since then, the kernel silently ignores it " "without error. Starting with Linux 4.6, the same bit was reused for the " "B flag." msgstr "" "Этот флаг I<устарел> начиная с Linux 2.6.25 и был I<удалён> в Linux 2.6.38. " "Начиная с этой версии, ядро просто игнорирует его без ошибки. Начиная с " "Linux 4.6 используемый под него бит используется для флага " "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 2.5.10)" msgstr "B (начиная с Linux 2.5.10)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, then the child and the calling process share a " "single list of System V semaphore adjustment (I) values (see " "B(2)). In this case, the shared list accumulates I values " "across all processes sharing the list, and semaphore adjustments are " "performed only when the last process that is sharing the list terminates (or " "ceases sharing the list using B(2)). If this flag is not set, then " "the child has a separate I list that is initially empty." msgstr "" "Если указан флаг B, то потомок и вызывающий процесс будут " "иметь общий единый список значений регулировки семафоров System V " "(I) (смотрите B(2)). В этом случае общий список накапливает " "значения I из общего списка процессов и регулировки семафоров " "выполняются только когда завершается последний процесс, использующий общий " "список (или перестаёт пользоваться общим списком с помощью B(2)). " "Если этот флаг не указан, то потомок имеет отдельный список I, " "который первоначально пуст." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.4.0)" msgstr "B (начиная с Linux 2.4.0)" #. Precisely: Linux 2.6.0-test8 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the child is placed in the same thread group as " "the calling process. To make the remainder of the discussion of " "B more readable, the term \"thread\" is used to refer to the " "processes within a thread group." msgstr "" "Если указан флаг B, то потомок размещается в той же группе " "нитей, что и вызывающий процесс. Чтобы сделать остаток обсуждения " "B более понятным, термин «нить» используется для ссылки на " "процессы внутри группы нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Thread groups were a feature added in Linux 2.4 to support the POSIX threads " "notion of a set of threads that share a single PID. Internally, this shared " "PID is the so-called thread group identifier (TGID) for the thread group. " "Since Linux 2.4, calls to B(2) return the TGID of the caller." msgstr "" "Группы нитей были добавлены в Linux 2.4 для поддержки нитей POSIX, " "описываемых как набор нитей, использующих один и тот же PID. Внутренне общий " "PID — это так называемый идентификатор группы нитей (TGID). Начиная с Linux " "2.4, вызов B(2) возвращает идентификатор группы нитей вызывающего " "процесса." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The threads within a group can be distinguished by their (system-wide) " #| "unique thread IDs (TID). A new thread's TID is available as the function " #| "result returned to the caller of B(), and a thread can obtain its " #| "own TID using B(2)." msgid "" "The threads within a group can be distinguished by their (system-wide) " "unique thread IDs (TID). A new thread's TID is available as the function " "result returned to the caller, and a thread can obtain its own TID using " "B(2)." msgstr "" "Внутри группы нити можно различать по их (глобальному) уникальному " "идентификатору нити (TID). TID новой нити возвращается вызывающему как " "результат B(), а нить может узнать свой TID с помощью вызова " "B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "When a call is made to B() without specifying B, " #| "then the resulting thread is placed in a new thread group whose TGID is " #| "the same as the thread's TID. This thread is the I of the new " #| "thread group." msgid "" "When a clone call is made without specifying B, then the " "resulting thread is placed in a new thread group whose TGID is the same as " "the thread's TID. This thread is the I of the new thread group." msgstr "" "Когда вызов B() делается без B, то получаемая нить " "помещается в новую группу нитей, чей TGID совпадает с TID нити. Эта нить " "будет I<лидером> новой группы нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "A new thread created with B has the same parent process as " #| "the caller of B() (i.e., like B), so that calls to " #| "B(2) return the same value for all of the threads in a thread " #| "group. When a B thread terminates, the thread that created " #| "it using B() is not sent a B (or other termination) " #| "signal; nor can the status of such a thread be obtained using " #| "B(2). (The thread is said to be I.)" msgid "" "A new thread created with B has the same parent process as the " "process that made the clone call (i.e., like B), so that calls " "to B(2) return the same value for all of the threads in a thread " "group. When a B thread terminates, the thread that created it " "is not sent a B (or other termination) signal; nor can the status " "of such a thread be obtained using B(2). (The thread is said to be " "I.)" msgstr "" "Новая нить, созданная с B, имеет тот же родительский процесс " "что и вызвавший B() (т.е., как B), поэтому при вызове " "B(2) возвращается одинаковое значение для всех нитей в группе " "нитей. Когда нить B завершается, нити, создавшей её с помощью " "B(), не посылается сигнал B (или другой сигнал завершения); " "состояние такой нити нельзя получить с помощью B(2). Про нить говорят, " "что она I<отсоединена> (detached)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After all of the threads in a thread group terminate the parent process of " "the thread group is sent a B (or other termination) signal." msgstr "" "После завершения работы всех нитей в группе нитей родительскому процессу " "группы нитей посылается сигнал B (или другой завершающий сигнал)." #. 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 threads in a thread group performs an B(2), then all " "threads other than the thread group leader are terminated, and the new " "program is executed in the thread group leader." msgstr "" "Если в любой из нитей группы нитей выполняется вызов B(2), то все " "нити отличные от лидера группы нитей, завершаются и выполняется новая " "программы в лидере группы нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If one of the threads in a thread group creates a child using B(2), " "then any thread in the group can B(2) for that child." msgstr "" "Если одна из нитей группы нитей создаёт потомка с помощью B(2), то " "любая нить группы может вызвать B(2) для ожидания этого потомка." #. Precisely: Linux 2.6.0-test6 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Since Linux 2.5.35, I must also include B if " #| "B is specified (and note that, since Linux 2.6.0, " #| "B also requires B to be included)." msgid "" "Since Linux 2.5.35, the I mask must also include B if " "B is specified (and note that, since Linux 2.6.0, " "B also requires B to be included)." msgstr "" "Начиная с Linux 2.5.35, аргумент I должен также включать " "B, если указан флаг B (также заметим, что " "начиная с Linux 2.6.0, для B также требуется включать " "B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Signal dispositions and actions are process-wide: if an unhandled signal is " "delivered to a thread, then it will affect (terminate, stop, continue, be " "ignored in) all members of the thread group." msgstr "" "Расположение и действия сигналов распространяются на весь процесс: если " "необработанный сигнал доставляется нити, то это влияет (завершение, " "остановка, продолжение, игнорирование) на все члены группы нитей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Each thread has its own signal mask, as set by 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 msgid "" "A signal may be process-directed or thread-directed. A process-directed " "signal is targeted at a thread group (i.e., a TGID), and is delivered to an " "arbitrarily selected thread from among those that are not blocking the " "signal. A signal may be process-directed because it was generated by the " "kernel for reasons other than a hardware exception, or because it was sent " "using B(2) or B(3). A thread-directed signal is targeted " "at (i.e., delivered to) a specific thread. A signal may be thread directed " "because it was sent using B(2) or B(3), or " "because the thread executed a machine language instruction that triggered a " "hardware exception (e.g., invalid memory access triggering B or a " "floating-point exception triggering B)." msgstr "" "Сигнал может быть направлен процессу и направлен нити. Целью сигнала, " "направленного процессу, является группа нитей (т. е., TGID), и он " "доставляется произвольно выбранной нити среди неблокирующих сигнал. Сигнал " "может быть направлен процессу из ядра по причинам, не относящимся к " "аппаратному исключению, или быть послан с помощью B(2) или " "B(3). Целью сигнала, направленного нити, является определённая (т. " "е., указанная в адресе назначения) нить. Сигнал может быть направлен нити " "вызовом B(2) или B(3), или если в работе нити " "возникло аппаратное исключение при выполнении ей языковой инструкции " "(например, при доступе к памяти по неправильному адресу возникает " "B, а исключение в блоке выполнения инструкций с плавающей запятой " "приводит к B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A call to B(2) returns a signal set that is the union of the " "pending process-directed signals and the signals that are pending for the " "calling thread." 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 "" #| "If a process-directed signal is delivered to a thread group, and the " #| "thread group has installed a handler for the signal, then the handler " #| "will be invoked in exactly one, arbitrarily selected member of the thread " #| "group that has not blocked the signal. If multiple threads in a group " #| "are waiting to accept the same signal using B(2), the kernel " #| "will arbitrarily select one of these threads to receive the signal." msgid "" "If a process-directed signal is delivered to a thread group, and the thread " "group has installed a handler for the signal, then the handler is invoked in " "exactly one, arbitrarily selected member of the thread group that has not " "blocked the signal. If multiple threads in a group are waiting to accept " "the same signal using B(2), the kernel will arbitrarily select " "one of these threads to receive the signal." 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 (since Linux 2.5.46)" msgstr "B (начиная с Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is specified, then a tracing process cannot force " "B on this child process." 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 2.2)" msgstr "B (начиная с Linux 2.2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the execution of the calling process is suspended " "until the child releases its virtual memory resources via a call to " "B(2) or B<_exit>(2) (as with B(2))." msgstr "" "Если указан флаг B, то выполнение вызывающего процесса " "приостанавливается до тех пор, пока потомок не освободит ресурсы виртуальной " "памяти с помощь вызова B(2) или B<_exit>(2) (как с B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is not set, then both the calling process and the child " "are schedulable after the call, and an application should not rely on " "execution occurring in any particular order." msgstr "" "Если флаг B не указан, то вызывающий процесс и потомок доступны " "для планирования после вызова, и приложение не должно полагаться на то, что " "выполнение производится в каком-то определённом порядке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.0)" msgstr "B (начиная с Linux 2.0)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B is set, the calling process and the child process run in the " "same memory space. In particular, memory writes performed by the calling " "process or by the child process are also visible in the other process. " "Moreover, any memory mapping or unmapping performed with B(2) or " "B(2) by the child or calling process also affects the other process." msgstr "" "Если задан флаг B, то вызывающий и дочерний процесс работают в " "одном пространстве памяти. В частности, запись в память одним процессом " "видна другому. Кроме того, выполнение отображения или снятия отображения в " "память, выполняемая с помощью B(2) или B(2), одним процессом, " "влияет на другой." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If B is not set, the child process runs in a separate copy of " #| "the memory space of the calling process at the time of B(). " #| "Memory writes or file mappings/unmappings performed by one of the " #| "processes do not affect the other, as with B(2)." msgid "" "If B is not set, the child process runs in a separate copy of the " "memory space of the calling process at the time of the clone call. Memory " "writes or file mappings/unmappings performed by one of the processes do not " "affect the other, as with 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 "" "If the B flag is specified and the B flag is not " "specified, then any alternate signal stack that was established by " "B(2) is cleared in the child process." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. gettid(2) returns current->pid; #. getpid(2) returns current->tgid; #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, the thread ID of the child process is returned in the " #| "caller's thread of execution. On failure, -1 is returned in the caller's " #| "context, no child process will be created, and I will be set " #| "appropriately." msgid "" "On success, the thread ID of the child process is returned in the caller's " "thread of execution. On failure, -1 is returned in the caller's context, no " "child process is created, and I is set to indicate the error." msgstr "" "При успешном выполнении в вызывающую исполняемую нить возвращается ID нити " "дочернего процесса. Иначе в контекст вызывающего возвращается -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 (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, but the restrictions " "(described in B(7)) on placing the child process into the version " "2 cgroup referred to by I are not met." 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 "Too many processes are already running; see 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 (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, but the file " "descriptor specified in I refers to a version 2 cgroup in " "which a domain controller is enabled." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "One (or more) of the PIDs specified in I already exists in the " "corresponding PID namespace." 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 #, fuzzy #| msgid "Both B and B were specified in I." msgid "" "Both B and B were specified in the " "I mask." msgstr "Указаны оба флага, B и B, в I." #. Precisely: Linux 2.6.0-test6 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified, but B was not. (Since Linux " #| "2.6.0.)" msgid "" "B was specified in the I mask, but B was " "not. (Since Linux 2.6.0.)" msgstr "" "Указан флаг B, но нет B (начиная с Linux 2.6.0)." #. .TP #. .B EINVAL #. Precisely one of #. .B CLONE_DETACHED #. and #. .B CLONE_THREAD #. was specified. #. (Since Linux 2.6.0-test6.) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified, but B was not. (Since " #| "Linux 2.5.35.)" msgid "" "B was specified in the I mask, but B was " "not. (Since Linux 2.5.35.)" msgstr "" "Указан флаг B, но нет B (начиная с Linux " "2.5.35)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified, but the current process previously called " #| "B(2) with the B flag or used B(2) to " #| "reassociate itself with a PID namespace." msgid "" "B was specified in the I mask, but the current process " "previously called B(2) with the B flag or used " "B(2) to reassociate itself with a PID namespace." msgstr "" "Указан флаг B, но текущий процесс до этого вызвал " "B(2) с флагом B или использовал B(2) для " "своего отсоединения от пространства имён PID." #. commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "Both B and B were specified in I." msgid "" "Both B and B were specified in the I mask." msgstr "Указаны оба флага, B и B, в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.9)" msgstr "B (начиная с Linux 3.9)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "Both B and B were specified in I." msgid "" "Both B and B were specified in the I mask." msgstr "Указаны оба флага, B и B, в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Both B and B were specified in I." msgid "" "Both B and B were specified in the I " "mask." msgstr "Указаны оба флага, B и B, в I." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "One (or both) of B or B and one (or both) of " #| "B or B were specified in I." msgid "" "B and one (or both) of B or B were " "specified in the I mask." msgstr "" "Указан один или оба флага, B или B, и один или " "оба флага, B или B, в I." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "Both B and B were specified in I." msgid "" "B and B were specified in the I mask." msgstr "Указаны оба флага, B и B, в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.32)" msgstr "B (начиная с Linux 2.6.32)" #. commit 123be07b0b399670a7cc3d82fef0cb4f93ef885c #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B was specified, and the caller is an init process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returned by the glibc B() wrapper function when I or I is " "specified as NULL." msgstr "" "Возвращается обёрточной функцией glibc B(), если I или I " "равны NULL." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B and B options." msgid "" "B was specified in the I mask, but the kernel was not " "configured with the B and B options." msgstr "" "Указан флаг B в I, но ядро собрано без параметров " "B и B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B was specified in the I mask, but the kernel was not " "configured with the B option." msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B was specified in the I mask, but the kernel was not " "configured with the B option." msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B was specified in the I mask, but the kernel was not " "configured with the B option." msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B was specified in the I mask, but the kernel was not " "configured with the B option." msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is not aligned to a suitable boundary for this architecture. For " "example, on aarch64, I must be a multiple of 16." msgstr "" "Значение I не выровнено по нужной границе для этой архитектуры. " "Например, на aarch64 I должно быть кратно 16." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "Both B and B were specified in I." msgid "B was specified in the I mask." msgstr "Указаны оба флага, B и B, в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified together with B in the I " "mask." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified together with B in the I " "mask." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B(B() only)" msgstr "B(только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified together with B in the " "I mask." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is greater than the number of nested PID namespaces." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "The AIO context specified by I is invalid." msgid "One of the PIDs specified in I was an invalid." msgstr "Некорректен контекст AIO, указанный I." #. commit 7f192e3cd316ba58c88dfa26796cf77789dd9872 #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B or B was specified in the I mask, but a " "signal was specified in I." msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (AArch64 only, Linux 4.6 and earlier)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I was not aligned to a 128-bit boundary." 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 "" "Cannot allocate sufficient memory to allocate a task structure for the " "child, or to copy those parts of the caller's context that need to be copied." 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 3.7)" msgstr "B (начиная с Linux 3.7)" #. commit f2302505775fd13ba93f034206f1e2a587017929 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in flags, but the limit on the nesting " #| "depth of PID namespaces would have been exceeded; see " #| "B(7)." msgid "" "B was specified in the I mask, but the limit on the " "nesting depth of PID namespaces would have been exceeded; see " "B(7)." msgstr "" "В флагах указан B, но вызов привёл бы к превышению ограничения " "на количество вложенных имён PID; смотрите 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 (since Linux 4.9; beforehand B)" msgstr "B (начиная с Linux 4.9; до этого B)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, and the call would cause the " #| "limit on the number of nested user namespaces to be exceeded. See " #| "B(7)." msgid "" "B was specified in the I mask, and the call would " "cause the limit on the number of nested user namespaces to be exceeded. See " "B(7)." msgstr "" "Флаг 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 "" "From Linux 3.11 to Linux 4.8, the error diagnosed in this case was B." msgstr "В этом случае в Linux 3.11 по Linux 4.8 возвращалась ошибка 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 4.9)" msgstr "B (начиная с Linux 4.9)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "One of the values in I specified the creation of a new user " #| "namespace, but doing so would have caused the limit defined by the " #| "corresponding file in I to be exceeded. For further " #| "details, see B(7)." msgid "" "One of the values in the I mask specified the creation of a new user " "namespace, but doing so would have caused the limit defined by the " "corresponding file in I to be exceeded. For further " "details, see B(7)." msgstr "" "Одним из значений в I задаётся создание нового пространства " "пространства имён пользователя, но это превысило бы ограничение, " "определённое в соответствующем файле в каталоге 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 (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, but the file " "descriptor specified in I refers to a version 2 cgroup that " "is in the I state." 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 "" "B, B, B, B, " "B, or B was specified by an unprivileged process " "(process without B)." msgstr "" "Указан флаг B, B, B, " "B, B или B, но процесс не имеет " "достаточно прав (нет мандата B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified by a process other than process 0. (This error " "occurs only on Linux 2.5.15 and earlier.)" msgstr "" "Указан флаг B, но ID процесса не равен 0 (эта ошибка возникает " "только в Linux 2.5.15 и старее)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, but either the effective user " #| "ID or the effective group ID of the caller does not have a mapping in the " #| "parent namespace (see B(7))." msgid "" "B was specified in the I mask, but either the " "effective user ID or the effective group ID of the caller does not have a " "mapping in the parent namespace (see B(7))." msgstr "" "Флаг B указан в I, но эффективный пользовательский ID " "или эффективный ID группы вызывающего не отображён в родительское " "пространство имён (смотрите 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 (since Linux 3.9)" msgstr "B (начиная с Linux 3.9)" #. commit 3151527ee007b73a0ebd296010f1c0454a919c7d #. FIXME What is the rationale for this restriction? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I and the caller is in a chroot " #| "environment (i.e., the caller's root directory does not match the root " #| "directory of the mount namespace in which it resides)." msgid "" "B was specified in the I mask and the caller is in a " "chroot environment (i.e., the caller's root directory does not match the " "root directory of the mount namespace in which it resides)." msgstr "" "В I был указан флаг B и вызывающий выполняется в " "окружении chroot (т. е. корневой каталог вызывающего не совпадает с корневым " "каталогом пространства имён монтирования, в котором он находится)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (B() only)" msgstr "B (только B())" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I was greater than zero, and the caller lacks the " "B capability in one or more of the user namespaces that own " "the corresponding PID namespaces." 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.17)" msgstr "B (начиная с Linux 2.6.17)" #. commit 4a2c7a7837da1b91468e50426066d988050e4d56 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "System call was interrupted by a signal and will be restarted. (This can be " "seen only during a trace.)" msgstr "" "Системный вызов был прерван сигналом и перезапущен (может быть замечено " "только при трассировке)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (Linux 3.11 to Linux 4.8)" msgstr "B (с Linux 3.11 по Linux 4.8)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B was specified in I, and the limit on the number " #| "of nested user namespaces would be exceeded. See the discussion of the " #| "B error above." msgid "" "B was specified in the I mask, and the limit on the " "number of nested user namespaces would be exceeded. See the discussion of " "the B error above." msgstr "" "Флаг B указан в I, и вызов привёл бы к превышению " "ограничения на количество вложенных пользовательских пространств имён. " "Смотрите описание ошибки B, представленное выше." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "ВЕРСИИ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Note that the glibc B() wrapper function makes some changes in " #| "the memory pointed to by I (changes required to set the stack up " #| "correctly for the child) I invoking the B() system " #| "call. So, in cases where B() is used to recursively create " #| "children, do not use the buffer employed for the parent's stack as the " #| "stack of the child." msgid "" "The glibc B() wrapper function makes some changes in the memory " "pointed to by I (changes required to set the stack up correctly for " "the child) I invoking the B() system call. So, in cases " "where B() is used to recursively create children, do not use the " "buffer employed for the parent's stack as the stack of the child." msgstr "" "Заметим, что обёрточная функция glibc B() делает некоторые изменения " "в памяти, на которую указывает I (изменения требуются для правильной " "настройки стека в потомке) I<перед> запуском системного вызова B(). " "Поэтому в случаях, когда B() используется для рекурсивного создания " "потомков, не используйте буфер стека родителя в качестве стека потомка." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On i386, B() should not be called through vsyscall, but directly " "through I." msgstr "" "На архитектуре i386 B() не должен вызываться через vsyscall, а " "запускаться явно с помощью I." #. 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 и ядром" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The raw B() system call corresponds more closely to B(2) in " "that execution in the child continues from the point of the call. As such, " "the I and I arguments of the B() wrapper function are " "omitted." msgstr "" "Системный вызов B() больше похож на B(2) в том плане, что " "выполнение в потомке продолжается от места вызова. Таким образом, аргументы " "I и I обёрточной функции B() отсутствуют." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Another difference for the raw B() system call is that the " #| "I argument may be NULL, in which case the child uses a " #| "duplicate of the parent's stack. (Copy-on-write semantics ensure that " #| "the child gets separate copies of stack pages when either process " #| "modifies the stack.) In this case, for correct operation, the " #| "B option should not be specified. (If the child I the " #| "parent's memory because of the use of the B flag, then no copy-" #| "on-write duplication occurs and chaos is likely to result.)" msgid "" "In contrast to the glibc wrapper, the raw B() system call accepts " "NULL as a I argument (and B() likewise allows I to be NULL). In this case, the child uses a duplicate of the " "parent's stack. (Copy-on-write semantics ensure that the child gets " "separate copies of stack pages when either process modifies the stack.) In " "this case, for correct operation, the B option should not be " "specified. (If the child I the parent's memory because of the use " "of the B flag, then no copy-on-write duplication occurs and chaos " "is likely to result.)" msgstr "" "Другим отличием системного вызова B() является то, что аргумент " "I может быть равен NULL, если потомок использует копию " "родительского стека (копирование-при-записи гарантирует, что потомок получит " "отдельные копии страниц стека, если один из процессов изменит стек). В этом " "случае для правильной работы не должен использоваться флаг B (если " "потомок I<использует> родительскую память из-за указания B, то " "создания копии при копировании-при-записи не происходит и, вероятно, это " "вызове хаос)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The order of the arguments also differs in the raw system call, and there " "are variations in the arguments across architectures, as detailed in the " "following paragraphs." msgstr "" "В системном вызове также другой порядок аргументов, он различен у разных " "архитектур (описан далее)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The raw system call interface on x86-64 and some other architectures " "(including sh, tile, and alpha) is:" msgstr "" "Интерфейс внутреннего системного вызова на x86-64 и некоторых других " "архитектурах (включая sh, tile и alpha):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, void *>IB<,>\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" msgstr "" "BIB<, void *>IB<,>\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" #. CONFIG_CLONE_BACKWARDS #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On x86-32, and several other common architectures (including score, ARM, ARM " "64, PA-RISC, arc, Power PC, xtensa, and MIPS), the order of the last two " "arguments is reversed:" msgstr "" "На x86-32 и некоторых других распространённых архитектурах (включая score, " "ARM, ARM 64, PA-RISC, arc, Power PC, xtensa и MIPS) порядок последних двух " "аргументов обратный:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, void *>IB<,>\n" "B< int *>IB<, unsigned long >IB<,>\n" "B< int *>IB<);>\n" msgstr "" "BIB<, void *>IB<,>\n" "B< int *>IB<, unsigned long >IB<,>\n" "B< int *>IB<);>\n" #. CONFIG_CLONE_BACKWARDS2 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On the cris and s390 architectures, the order of the first two arguments is " "reversed:" msgstr "На архитектурах cris и s390 порядок первых двух аргументов обратный:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, unsigned long >IB<,>\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" msgstr "" "BIB<, unsigned long >IB<,>\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" #. CONFIG_CLONE_BACKWARDS3 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "On the microblaze architecture, an additional argument is supplied:" msgstr "На архитектуре microblaze есть дополнительный аргумент:" #. 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<, void *>IB<,>\n" #| "B< int >IB<,> /* Size of stack */\n" #| "B< int *>IB<, int *>IB<,>\n" #| "B< unsigned long >IB<);>\n" msgid "" "BIB<, void *>IB<,>\n" "B< int >IB<,> /* Size of stack */\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" msgstr "" "BIB<, void *>IB<,>\n" "B< int >IB<,> /* Size of stack */\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "blackfin, m68k, and sparc" msgstr "blackfin, m68k и sparc" #. Mike Frysinger noted in a 2013 mail: #. these arches don't define __ARCH_WANT_SYS_CLONE: #. blackfin ia64 m68k sparc #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument-passing conventions on blackfin, m68k, and sparc are different " "from the descriptions above. For details, see the kernel (and glibc) source." msgstr "" "Соглашение по передаче аргументов на blackfin, m68k и sparc отличается от " "описанного выше. Подробности смотрите в исходном коде ядра (и glibc)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ia64" msgstr "ia64" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "On ia64, a different interface is used:" msgstr "На ia64 используется другой интерфейс:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<)(void *),>\n" "B< void *>IB<, size_t >IB<,>\n" "B< int >IB<, void *>IB<, ...>\n" "B< /* pid_t *>IB<, struct user_desc *>IB<,>\n" "B< pid_t *>IB< */ );>\n" msgstr "" "BIB<)(void *),>\n" "B< void *>IB<, size_t >IB<,>\n" "B< int >IB<, void *>IB<, ...>\n" "B< /* pid_t *>IB<, struct user_desc *>IB<,>\n" "B< pid_t *>IB< */ );>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The prototype shown above is for the glibc wrapper function; for the system " "call itself, the prototype can be described as follows (it is identical to " "the B() prototype on microblaze):" msgstr "" "Прототип, показанный выше, относится к обёрточной функции glibc; прототип " "системного вызова можно описать следующим образом (одинаков с прототипом " "B() на microblaze):" #. 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<, void *>IB<,>\n" #| "B< int >IB<,> /* Size of stack */\n" #| "B< int *>IB<, int *>IB<,>\n" #| "B< unsigned long >IB<);>\n" msgid "" "BIB<, void *>IB<,>\n" "B< int >IB<,> /* Size of stack */\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" msgstr "" "BIB<, void *>IB<,>\n" "B< int >IB<,> /* Size of stack */\n" "B< int *>IB<, int *>IB<,>\n" "B< unsigned long >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B<__clone2>() operates in the same way as B(), except that " "I points to the lowest address of the child's stack area, and " "I specifies the size of the stack pointed to by I." msgstr "" "Системный вызов B<__clone2>() работает также как и B() за исключением " "того, что I указывает на самый нижний адрес области стека " "потомка, и в I задаётся размер стека, указываемого в " "I." #. 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 "Linux." msgstr "Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B(2)" msgid "B()" msgstr "B(2)" #. There is no entry for #. .BR clone () #. in libc5. #. glibc2 provides #. .BR clone () #. as described in this manual page. #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "Linux" msgid "Linux 5.3." msgstr "Linux" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Linux 2.4 and earlier" msgstr "Linux версии 2.4 и более ранние" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "In the Linux 2.4.x series, B generally does not make the " #| "parent of the new thread the same as the parent of the calling process. " #| "However, for kernel versions 2.4.7 to 2.4.18 the B flag " #| "implied the B flag (as in Linux 2.6.0 and later)." msgid "" "In the Linux 2.4.x series, B generally does not make the " "parent of the new thread the same as the parent of the calling process. " "However, from Linux 2.4.7 to Linux 2.4.18 the B flag implied " "the B flag (as in Linux 2.6.0 and later)." msgstr "" "Для ядер версий Linux 2.4.x, флаг B не делает родителем новой " "нити того же родителя что и у вызывающего процесса. Однако для ядер версий " "2.4.7-2.4.18 флаг B неявно подразумевает флаг B " "(как в ядре Linux 2.6.0 и новее)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In Linux 2.4 and earlier, B() does not take arguments I, " "I, and I." msgstr "" "В Linux 2.4 и более ранних B() не принимал аргументов I, " "I и I." #. 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-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "One use of B() is to implement threads: multiple flows of control " #| "in a program that run concurrently in a shared address space." msgid "" "One use of these system calls is to implement threads: multiple flows of " "control in a program that run concurrently in a shared address space." msgstr "" "Одним из вариантов использования вызова B() является реализация " "нитей: несколько потоков управления в программе, выполняющиеся одновременно " "в общем адресном пространстве." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B(2) system call can be used to test whether two processes share " "various resources such as a file descriptor table, System V semaphore undo " "operations, or a virtual address space." msgstr "" "Системный вызов B(2) можно использовать для проверки того, что два " "процесса совместно используют различные ресурсы, такие как таблицу файловых " "дескрипторов, семафор System V для отмены операций или виртуальное адресное " "пространство." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Handlers registered using B(3) are not executed during a " #| "call to B()." msgid "" "Handlers registered using B(3) are not executed during a " "clone call." msgstr "" "Обработчики, зарегистрированные с помощью B(3), не " "выполняются во время вызова B()." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "ОШИБКИ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "GNU C library versions 2.3.4 up to and including 2.24 contained a wrapper " "function for B(2) that performed caching of PIDs. This caching " "relied on support in the glibc wrapper for B(), but limitations in " "the implementation meant that the cache was not up to date in some " "circumstances. In particular, if a signal was delivered to the child " "immediately after the B() call, then a call to B(2) in a " "handler for the signal could return the PID of the calling process (\"the " "parent\"), if the clone wrapper had not yet had a chance to update the PID " "cache in the child. (This discussion ignores the case where the child was " "created using B, when B(2) I return the same " "value in the child and in the process that called B(), since the " "caller and the child are in the same thread group. The stale-cache problem " "also does not occur if the I argument includes B.) To get " "the truth, it was sometimes necessary to use code such as the following:" msgstr "" "Версии библиотеки GNU C с 2.3.4 и по 2.24 включительно содержат обёрточную " "функцию для B(2), которая выполняет кэширование значений PID. Это " "кэширование основано на поддержке обёрточной функции glibc для B(), " "но ограничения в реализации полагаются, что кэш в некоторых случаях не " "устаревает до определённой даты. В частности, если сигнал был доставлен " "потомку сразу после вызова B(), то вызов B(2) обработчике " "сигнала может вернуть PID вызывающего процесса («родителя»), если у обёртки " "clone пока не было шанса изменить кэш PID в потомке (в этом описании " "игнорируется случай, где потомок был создал с использованием " "B, когда B(2) I<должен> вернуть то же значение в " "потомок и в процесс, вызывавший B(), так как вызывающий и потомок " "находятся в одной группе нитей. Проблема просроченного кэша также не " "возникает, если в аргументе I содержится B). Чтобы узнать " "правду, было иногда необходимо использовать такой код:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Esyscall.hE\n" "\\&\n" "pid_t mypid;\n" "\\&\n" "mypid = syscall(SYS_getpid);\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Because of the stale-cache problem, as well as other problems noted in " "B(2), the PID caching feature was removed in glibc 2.25." msgstr "" "Из-за проблем просроченного кэша (stale-cache), а также других, упомянутых в " "B(2), свойство кэширования PID было удалено в glibc 2.25." #. 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 following program demonstrates the use of B() to create a child " "process that executes in a separate UTS namespace. The child changes the " "hostname in its UTS namespace. Both parent and child then display the " "system hostname, making it possible to see that the hostname differs in the " "UTS namespaces of the parent and child. For an example of the use of this " "program, see B(2)." msgstr "" "Следующая программа демонстрирует использование B() для создания " "дочернего процесса, который выполняется в отдельном пространстве имён UTS. " "Потомок изменяет имя узла в своём пространстве имён UTS. И предок и потомок " "затем выводят системное имя узла, чтобы можно было убедиться в " "неодинаковости пространств имён. Пример использования этой программы " "смотрите в B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Within the sample program, we allocate the memory that is to be used for the " "child's stack using B(2) rather than B(3) for the following " "reasons:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2) allocates a block of memory that starts on a page boundary and " "is a multiple of the page size. This is useful if we want to establish a " "guard page (a page with protection B) at the end of the stack " "using B(2)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We can specify the B flag to request a mapping that is suitable " "for a stack. For the moment, this flag is a no-op on Linux, but it exists " "and has effect on some other systems, so we should include it for " "portability." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Исходный код программы" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Eerr.hE\n" "#include Esched.hE\n" "#include Esignal.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/mman.hE\n" "#include Esys/types.hE\n" "#include Esys/utsname.hE\n" "#include Esys/wait.hE\n" "#include Eunistd.hE\n" "\\&\n" "static int /* Start function for cloned child */\n" "childFunc(void *arg)\n" "{\n" " struct utsname uts;\n" "\\&\n" " /* Change hostname in UTS namespace of child. */\n" "\\&\n" " if (sethostname(arg, strlen(arg)) == -1)\n" " err(EXIT_FAILURE, \"sethostname\");\n" "\\&\n" " /* Retrieve and display hostname. */\n" "\\&\n" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" "\\&\n" " /* Keep the namespace open for a while, by sleeping.\n" " This allows some experimentation--for example, another\n" " process might join the namespace. */\n" "\\&\n" " sleep(200);\n" "\\&\n" " return 0; /* Child terminates now */\n" "}\n" "\\&\n" "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *stack; /* Start of stack buffer */\n" " char *stackTop; /* End of stack buffer */\n" " pid_t pid;\n" " struct utsname uts;\n" "\\&\n" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" " exit(EXIT_SUCCESS);\n" " }\n" "\\&\n" " /* Allocate memory to be used for the stack of the child. */\n" "\\&\n" " stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n" " MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n" " if (stack == MAP_FAILED)\n" " err(EXIT_FAILURE, \"mmap\");\n" "\\&\n" " stackTop = stack + STACK_SIZE; /* Assume stack grows downward */\n" "\\&\n" " /* Create child that has its own UTS namespace;\n" " child commences execution in childFunc(). */\n" "\\&\n" " pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" " if (pid == -1)\n" " err(EXIT_FAILURE, \"clone\");\n" " printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n" "\\&\n" " /* Parent falls through to here */\n" "\\&\n" " sleep(1); /* Give child time to change its hostname */\n" "\\&\n" " /* Display hostname in parent\\[aq]s UTS namespace. This will be\n" " different from hostname in child\\[aq]s UTS namespace. */\n" "\\&\n" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" "\\&\n" " if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n" " err(EXIT_FAILURE, \"waitpid\");\n" " printf(\"child has terminated\\en\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "СМОТРИТЕ ТАКЖЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(7), " "B(7), B(7)" msgstr "" "B(2), B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(7), " "B(7), B(7)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 февраля 2023 г." #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "In the remainder of this page, the terminology \"the clone call\" is used " "when noting details that apply to all of these interfaces," msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "The I mask is specified as a bitwise-OR of zero or more of the " "constants listed below. Except as noted below, these flags are available " "(and have the same effect) in both B() and B()." msgstr "" #. commit b612e5df4587c934bd056bf05f4a1deca4de4f75 #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "By default, signal dispositions in the child thread are the same as in the " "parent. If this flag is specified, then all signals that are handled in the " "parent are reset to their default dispositions (B) in the child." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Only a privileged process (B) can employ B. " "This flag can't be specified in conjunction with B or " "B." msgstr "" "Только привилегированный процесс (B) может использовать " "B. Этот флаг нельзя указывать вместе с B или " "B." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy #| msgid "" #| "One (or both) of B or B and one (or both) of " #| "B or B were specified in I." msgid "" "One (or both) of B or B and one (or both) of " "B or B were specified in the I mask." msgstr "" "Указан один или оба флага, B или B, и один или " "оба флага, B или B, в I." #. There is no entry for #. .BR clone () #. in libc5. #. glibc2 provides #. .BR clone () #. as described in this manual page. #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "These system calls first appeared in Linux 2.6." msgid "The B() system call first appeared in Linux 5.3." msgstr "Данные системные вызовы впервые появились в Linux 2.6." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This call is Linux-specific, and should not be used in programs intended " #| "to be portable." msgid "" "These system calls are Linux-specific and should not be used in programs " "intended to be portable." msgstr "" "Данный вызов существует только в Linux и не должен использоваться в " "программах, которые должны быть переносимыми." #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 #, fuzzy #| msgid "" #| "One use of B() is to implement threads: multiple flows of control " #| "in a program that run concurrently in a shared address space." msgid "" "One use of these systems calls is to implement threads: multiple flows of " "control in a program that run concurrently in a shared address space." msgstr "" "Одним из вариантов использования вызова B() является реализация " "нитей: несколько потоков управления в программе, выполняющиеся одновременно " "в общем адресном пространстве." #. type: Plain text #: debian-bookworm msgid "" "Note that the glibc B() wrapper function makes some changes in the " "memory pointed to by I (changes required to set the stack up " "correctly for the child) I invoking the B() system call. " "So, in cases where B() is used to recursively create children, do " "not use the buffer employed for the parent's stack as the stack of the child." msgstr "" "Заметим, что обёрточная функция glibc B() делает некоторые изменения " "в памяти, на которую указывает I (изменения требуются для правильной " "настройки стека в потомке) I<перед> запуском системного вызова B(). " "Поэтому в случаях, когда B() используется для рекурсивного создания " "потомков, не используйте буфер стека родителя в качестве стека потомка." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#include Esyscall.hE\n" msgstr "#include Esyscall.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "pid_t mypid;\n" msgstr "pid_t mypid;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "mypid = syscall(SYS_getpid);\n" msgstr "mypid = syscall(SYS_getpid);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Eerr.hE\n" "#include Esched.hE\n" "#include Esignal.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/mman.hE\n" "#include Esys/utsname.hE\n" "#include Esys/wait.hE\n" "#include Eunistd.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Eerr.hE\n" "#include Esched.hE\n" "#include Esignal.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/mman.hE\n" "#include Esys/utsname.hE\n" "#include Esys/wait.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static int /* Start function for cloned child */\n" "childFunc(void *arg)\n" "{\n" " struct utsname uts;\n" msgstr "" "static int /* Начало функции клонированного\n" " потомка */\n" "childFunc(void *arg)\n" "{\n" " struct utsname uts;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Change hostname in UTS namespace of child. */\n" msgstr " /* Изменяем имя узла в пространстве имён UTS потомка. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (sethostname(arg, strlen(arg)) == -1)\n" " err(EXIT_FAILURE, \"sethostname\");\n" msgstr "" " if (sethostname(arg, strlen(arg)) == -1)\n" " err(EXIT_FAILURE, \"sethostname\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Retrieve and display hostname. */\n" msgstr " /* Получаем и показывает имя узла. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" msgstr "" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Keep the namespace open for a while, by sleeping.\n" " This allows some experimentation--for example, another\n" " process might join the namespace. */\n" msgstr "" " /* Перед сном оставим пространство имён открытым.\n" " Это позволяет поэкспериментировать — например, другой\n" " процесс может подключиться к пространству имён. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " sleep(200);\n" msgstr " sleep(200);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return 0; /* Child terminates now */\n" "}\n" msgstr "" " return 0; /* Завершение работы потомка */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" msgstr "" "#define STACK_SIZE (1024 * 1024) /* Размер стека клонированного\n" " потомка */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *stack; /* Start of stack buffer */\n" " char *stackTop; /* End of stack buffer */\n" " pid_t pid;\n" " struct utsname uts;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *stack; /* Начало буфера стека */\n" " char *stackTop; /* Конец буфера стека */\n" " pid_t pid;\n" " struct utsname uts;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" " exit(EXIT_SUCCESS);\n" " }\n" msgstr "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" " exit(EXIT_SUCCESS);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Allocate stack for child */\n" msgid " /* Allocate memory to be used for the stack of the child. */\n" msgstr " /* Выделение стека для потомка */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n" " MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n" " if (stack == MAP_FAILED)\n" " err(EXIT_FAILURE, \"mmap\");\n" msgstr "" " stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n" " MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n" " if (stack == MAP_FAILED)\n" " err(EXIT_FAILURE, \"mmap\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " stackTop = stack + STACK_SIZE; /* Assume stack grows downward */\n" msgstr " stackTop = stack + STACK_SIZE; /* Считаем, что стек растёт вниз */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Create child that has its own UTS namespace;\n" " child commences execution in childFunc(). */\n" msgstr "" " /* Создаём потомка с собственным пространством имён UTS;\n" " потомок начинает выполнение с childFunc(). */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" " if (pid == -1)\n" " err(EXIT_FAILURE, \"clone\");\n" " printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n" msgstr "" " pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" " if (pid == -1)\n" " err(EXIT_FAILURE, \"clone\");\n" " printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Parent falls through to here */\n" msgstr " /* предок попадает сюда */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " sleep(1); /* Give child time to change its hostname */\n" msgstr " sleep(1); /* Даём время потомку изменить своё имя узла */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " /* Display hostname in parent\\(aqs UTS namespace. This will be\n" #| " different from hostname in child\\(aqs UTS namespace. */\n" msgid "" " /* Display hostname in parent\\[aq]s UTS namespace. This will be\n" " different from hostname in child\\[aq]s UTS namespace. */\n" msgstr "" " /* Показываем имя узла в пространстве имён UTS предка. Оно будет\n" " отличаться от имени узла в пространстве имён UTS потомка. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" msgstr "" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n" " err(EXIT_FAILURE, \"waitpid\");\n" " printf(\"child has terminated\\en\");\n" msgstr "" " if (waitpid(pid, NULL, 0) == -1) /* Ждём потомка */\n" " err(EXIT_FAILURE, \"waitpid\");\n" " printf(\"child has terminated\\en\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "2023-11-01" msgstr "1 ноября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Eerr.hE\n" "#include Esched.hE\n" "#include Esignal.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/mman.hE\n" "#include Esys/utsname.hE\n" "#include Esys/wait.hE\n" "#include Eunistd.hE\n" "\\&\n" "static int /* Start function for cloned child */\n" "childFunc(void *arg)\n" "{\n" " struct utsname uts;\n" "\\&\n" " /* Change hostname in UTS namespace of child. */\n" "\\&\n" " if (sethostname(arg, strlen(arg)) == -1)\n" " err(EXIT_FAILURE, \"sethostname\");\n" "\\&\n" " /* Retrieve and display hostname. */\n" "\\&\n" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n" "\\&\n" " /* Keep the namespace open for a while, by sleeping.\n" " This allows some experimentation--for example, another\n" " process might join the namespace. */\n" "\\&\n" " sleep(200);\n" "\\&\n" " return 0; /* Child terminates now */\n" "}\n" "\\&\n" "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *stack; /* Start of stack buffer */\n" " char *stackTop; /* End of stack buffer */\n" " pid_t pid;\n" " struct utsname uts;\n" "\\&\n" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" " exit(EXIT_SUCCESS);\n" " }\n" "\\&\n" " /* Allocate memory to be used for the stack of the child. */\n" "\\&\n" " stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n" " MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n" " if (stack == MAP_FAILED)\n" " err(EXIT_FAILURE, \"mmap\");\n" "\\&\n" " stackTop = stack + STACK_SIZE; /* Assume stack grows downward */\n" "\\&\n" " /* Create child that has its own UTS namespace;\n" " child commences execution in childFunc(). */\n" "\\&\n" " pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n" " if (pid == -1)\n" " err(EXIT_FAILURE, \"clone\");\n" " printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n" "\\&\n" " /* Parent falls through to here */\n" "\\&\n" " sleep(1); /* Give child time to change its hostname */\n" "\\&\n" " /* Display hostname in parent\\[aq]s UTS namespace. This will be\n" " different from hostname in child\\[aq]s UTS namespace. */\n" "\\&\n" " if (uname(&uts) == -1)\n" " err(EXIT_FAILURE, \"uname\");\n" " printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n" "\\&\n" " if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n" " err(EXIT_FAILURE, \"waitpid\");\n" " printf(\"child has terminated\\en\");\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "2024-02-18" msgstr "18 февраля 2024 г." #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 марта 2023 г." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. commit 7f192e3cd316ba58c88dfa26796cf77789dd9872 #. type: Plain text #: opensuse-leap-15-6 #, fuzzy #| msgid "" #| "B was specified in I, but the kernel was not " #| "configured with the B option." msgid "" "B or B was specified in the I mask, but a " "signal was specified in I" msgstr "" "Указан флаг B в I, но ядро собрано без параметра " "B." #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"