diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ru/man2/execve.2.po | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man2/execve.2.po')
-rw-r--r-- | po/ru/man2/execve.2.po | 2078 |
1 files changed, 2078 insertions, 0 deletions
diff --git a/po/ru/man2/execve.2.po b/po/ru/man2/execve.2.po new file mode 100644 index 00000000..6af0bcd1 --- /dev/null +++ b/po/ru/man2/execve.2.po @@ -0,0 +1,2078 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2012. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 16:55+0100\n" +"PO-Revision-Date: 2019-10-05 07:57+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve" +msgstr "execve" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-11-01" +msgstr "1 ноября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "ИМЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "execve - execute program" +msgstr "execve - выполнить программу" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "СИНТАКСИС" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>unistd.hE<gt>>\n" +msgstr "B<#include E<lt>unistd.hE<gt>>\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 "" +#| "B<int execve(const char *>I<pathname>B<, char *const >I<argv>B<[],>\n" +#| "B< char *const >I<envp>B<[]);>\n" +msgid "" +"B<int execve(const char *>I<pathname>B<, char *const _Nullable >I<argv>B<[],>\n" +"B< char *const _Nullable >I<envp>B<[]);>\n" +msgstr "" +"B<int execve(const char *>I<pathname>B<, char *const >I<argv>B<[],>\n" +"B< char *const >I<envp>B<[]);>\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "ОПИСАНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<execve>() executes the program referred to by I<pathname>. This causes " +"the program that is currently being run by the calling process to be " +"replaced with a new program, with newly initialized stack, heap, and " +"(initialized and uninitialized) data segments." +msgstr "" +"Вызов B<execve> выполняет программу, задаваемую I<pathname>. При этом " +"программа, выполняющаяся вызвавшим процессом, замещается новой программой, " +"заново инициализируется стек, куча и сегменты данных (инициализированные и " +"не инициализированные)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> must be either a binary executable, or a script starting with a " +"line of the form:" +msgstr "" +"В I<pathname> должно быть указано имя двоичного исполняемого файла или " +"сценарий, начинающийся со строки вида:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#!>I<interpreter >[optional-arg]\n" +msgstr "B<#!>I<интерпретатор >[необязательный параметр]\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "For details of the latter case, see \"Interpreter scripts\" below." +msgstr "Подробней о сценариях написано далее в «Интерпретируемые сценарии»." + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "I<argv> is an array of argument strings passed to the new program. By " +#| "convention, the first of these strings (i.e., I<argv[0]>) should contain " +#| "the filename associated with the file being executed. I<envp> is an " +#| "array of strings, conventionally of the form B<key=value>, which are " +#| "passed as environment to the new program. The I<argv> and I<envp> arrays " +#| "must each include a null pointer at the end of the array." +msgid "" +"I<argv> is an array of pointers to strings passed to the new program as its " +"command-line arguments. By convention, the first of these strings (i.e., " +"I<argv[0]>) should contain the filename associated with the file being " +"executed. The I<argv> array must be terminated by a null pointer. (Thus, " +"in the new program, I<argv[argc]> will be a null pointer.)" +msgstr "" +"I<argv> — это массив строковых параметров, передаваемых новой программе. По " +"соглашению, в первой строке (т. е., I<argv[0]>) должно содержаться имя " +"файла, относящееся к запускаемой программе. I<envp> — это массив строк в " +"формате B<ключ=значение>, которые передаются новой программе в качестве " +"окружения (environment). Оба массива I<argv> и I<envp> завершаются " +"указателем null." + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"I<envp> is an array of pointers to strings, conventionally of the form " +"B<key=value>, which are passed as the environment of the new program. The " +"I<envp> array must be terminated by a null pointer." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This manual page describes the Linux system call in detail; for an overview " +"of the nomenclature and the many, often preferable, standardised variants of " +"this function provided by libc, including ones that search the B<PATH> " +"environment variable, see B<exec>(3)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The argument vector and environment can be accessed by the called " +#| "program's main function, when it is defined as:" +msgid "" +"The argument vector and environment can be accessed by the new program's " +"main function, when it is defined as:" +msgstr "" +"К массиву параметров и окружению можно обратиться из вызываемой программой " +"главной функции, если она определена как:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "int main(int argc, char *argv[], char *envp[])\n" +msgstr "int main(int argc, char *argv[], char *envp[])\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note, however, that the use of a third argument to the main function is not " +"specified in POSIX.1; according to POSIX.1, the environment should be " +"accessed via the external variable B<environ>(7)." +msgstr "" +"Однако заметим, что использование третьего аргумента главной функции не " +"определено в POSIX.1; согласно POSIX.1, окружение должно быть доступно через " +"внешнюю переменную B<environ>(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<execve>() does not return on success, and the text, initialized data, " +"uninitialized data (bss), and stack of the calling process are overwritten " +"according to the contents of the newly loaded program." +msgstr "" +"При успешном выполнении B<execve>() управление не возвращается, а код, " +"инициализированные данные, неинициализированные данные (bss) и стек " +"вызвавшего процесса перезаписываются содержимым загруженной программы." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the current program is being ptraced, a B<SIGTRAP> signal is sent to it " +"after a successful B<execve>()." +msgstr "" +"Если текущая программа выполнялась под управлением ptrace, то после " +"успешного вызова B<execve>() ей посылается сигнал B<SIGTRAP>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If the set-user-ID bit is set on the program file referred to by " +#| "I<pathname>, then the effective user ID of the calling process is changed " +#| "to that of the owner of the program file. Similarly, when the set-group-" +#| "ID bit of the program file is set the effective group ID of the calling " +#| "process is set to the group of the program file." +msgid "" +"If the set-user-ID bit is set on the program file referred to by " +"I<pathname>, then the effective user ID of the calling process is changed to " +"that of the owner of the program file. Similarly, if the set-group-ID bit " +"is set on the program file, then the effective group ID of the calling " +"process is set to the group of the program file." +msgstr "" +"Если у файла программы, на который ссылается I<pathname>, установлен бит set-" +"user-ID, то фактический идентификатор пользователя вызывающего процесса " +"меняется на идентификатор владельца файла программы. Точно также, если на " +"файле программы установлен бит set-group-ID, то фактический идентификатор " +"группы вызывающего процесса становится равным группе, которой принадлежит " +"файл программы." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The aforementioned transformations of the effective IDs are I<not> performed " +"(i.e., the set-user-ID and set-group-ID bits are ignored) if any of the " +"following is true:" +msgstr "" +"Вышеупомянутые преобразования эффективных IDs I<не> выполняются (т. е., биты " +"set-user-ID и set-group-ID игнорируются), если что-либо из следующего " +"истинно:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "\\[bu]" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the I<no_new_privs> attribute is set for the calling thread (see " +"B<prctl>(2));" +msgstr "" +"установлен атрибут I<no_new_privs> для вызывающей нити (смотрите " +"B<prctl>(2));" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the underlying filesystem is mounted I<nosuid> (the B<MS_NOSUID> flag for " +"B<mount>(2)); or" +msgstr "" +"подлежащая файловая система смонтирована с I<nosuid> (флаг B<MS_NOSUID> для " +"B<mount>(2)); или" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "the calling process is being ptraced." +msgstr "вызывающий процесс выполняется под контролем ptrace." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The capabilities of the program file (see B<capabilities>(7)) are also " +"ignored if any of the above are true." +msgstr "" +"Также игнорируются мандаты файла программы (смотрите B<capabilities>(7)), " +"если что-то из вышеперечисленного истинно." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The effective user ID of the process is copied to the saved set-user-ID; " +"similarly, the effective group ID is copied to the saved set-group-ID. This " +"copying takes place after any effective ID changes that occur because of the " +"set-user-ID and set-group-ID mode bits." +msgstr "" +"Фактический идентификатор пользователя процесса копируется в сохранённый " +"идентификатор пользователя (set-user-ID), также фактический идентификатор " +"группы копируется в сохранённый идентификатор группы (set-group-ID). Это " +"копирование выполняется после изменения любого фактического идентификатора, " +"которое происходит из-за выставленных бит режима set-user-ID и set-group-ID." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The process's real UID and real GID, as well its supplementary group IDs, " +#| "are unchanged by a call to B<execve>()." +msgid "" +"The process's real UID and real GID, as well as its supplementary group IDs, " +"are unchanged by a call to B<execve>()." +msgstr "" +"Реальные UID и GID процесса, а также его дополнительные ID групп не " +"изменяются при вызове B<execve>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the executable is an a.out dynamically linked binary executable " +"containing shared-library stubs, the Linux dynamic linker B<ld.so>(8) is " +"called at the start of execution to bring needed shared objects into memory " +"and link the executable with them." +msgstr "" +"Если исполняемый файл является динамически-скомпонованным файлом в формате a." +"out, содержащим заглушки для динамических библиотек, то в начале выполнения " +"этого файла вызывается динамический компоновщик Linux B<ld.so>(8), который " +"начинает выполнение с загрузки общих объектов в память и компонует их с " +"исполняемым файлом." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the executable is a dynamically linked ELF executable, the interpreter " +"named in the PT_INTERP segment is used to load the needed shared objects. " +"This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with " +"glibc (see B<ld-linux.so>(8))." +msgstr "" +"Если исполняемый файл является динамически компонуемым файлом в формате ELF, " +"то для загрузки необходимых общих объектов используется интерпретатор, " +"указанный в сегменте PT_INTERP. Для программ, скомпонованных с glibc, обычно " +"это I</lib/ld-linux.so.2> (смотрите B<ld-linux.so>(8))." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Effect on process attributes" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All process attributes are preserved during an B<execve>(), except the " +"following:" +msgstr "" +"При вызове B<execve>() сохраняются все свойства процесса, за исключением:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The dispositions of any signals that are being caught are reset to the " +"default (B<signal>(7))." +msgstr "" +"Значения обработчиков всех захватываемых сигналов сбрасываются в значения по " +"умолчанию (B<signal>(7))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))." +msgstr "Любой альтернативный стек сигнала не сохраняется (B<sigaltstack>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Memory mappings are not preserved (B<mmap>(2))." +msgstr "Проецирование памяти не сохраняется (B<mmap>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Attached System\\ V shared memory segments are detached (B<shmat>(2))." +msgstr "" +"Подключённые общие сегменты памяти System\\ V отключаются (B<shmat>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))." +msgstr "" +"Области общей памяти POSIX становятся неспроецированными (B<shm_open>(3))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))." +msgstr "" +"Открытые дескрипторы в очереди сообщений POSIX закрываются " +"(B<mq_overview>(7))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))." +msgstr "Все открытые именные семафоры POSIX закрываются (B<sem_overview>(7))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX timers are not preserved (B<timer_create>(2))." +msgstr "Таймеры POSIX не сохраняются (B<timer_create>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any open directory streams are closed (B<opendir>(3))." +msgstr "" +"Все открытые потоки каталогов (directory streams) закрываются " +"(B<opendir>(3))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))." +msgstr "Блокировки памяти не сохраняются (B<mlock>(2), B<mlockall>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))." +msgstr "" +"Обработчики завершения работы (exit handlers) не сохраняются (B<atexit>(3), " +"B<on_exit>(3))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The floating-point environment is reset to the default (see B<fenv>(3))." +msgstr "" +"Окружения плавающей точки сбрасываются в настройки по умолчанию (B<fenv>(3))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process attributes in the preceding list are all specified in POSIX.1. " +"The following Linux-specific process attributes are also not preserved " +"during an B<execve>():" +msgstr "" +"В POSIX.1 определён список сохраняемых свойств процесса. Следующие свойства " +"процесса, имеющиеся только в Linux, также не сохраняются при B<execve>():" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process's \"dumpable\" attribute is set to the value 1, unless a set-" +"user-ID program, a set-group-ID program, or a program with capabilities is " +"being executed, in which case the dumpable flag may instead be reset to the " +"value in I</proc/sys/fs/suid_dumpable>, in the circumstances described under " +"B<PR_SET_DUMPABLE> in B<prctl>(2). Note that changes to the \"dumpable\" " +"attribute may cause ownership of files in the process's I</proc/>pid " +"directory to change to I<root:root>, as described in B<proc>(5)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<prctl>(2) B<PR_SET_KEEPCAPS> flag is cleared." +msgstr "Флаг B<PR_SET_KEEPCAPS> (B<prctl>(2)) очищается." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 2.4.36 / 2.6.23) If a set-user-ID or set-group-ID program is " +"being executed, then the parent death signal set by B<prctl>(2) " +"B<PR_SET_PDEATHSIG> flag is cleared." +msgstr "" +"(Начиная с Linux 2.4.36 / 2.6.23) Если выполняется программа с установленным " +"битом set-user-ID или set-group-ID, то сигнал о смерти родителя, " +"установленный B<prctl>(2) с флагом B<PR_SET_PDEATHSIG>, очищается." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process name, as set by B<prctl>(2) B<PR_SET_NAME> (and displayed by " +"I<ps\\ -o comm>), is reset to the name of the new executable file." +msgstr "" +"Имя процесса, установленное через B<prctl>(2) B<PR_SET_NAME> (и отображаемое " +"I<ps\\ -o comm>), изменяется на имя нового исполняемого файла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared. See " +"B<capabilities>(7)." +msgstr "" +"Флаг B<SECBIT_KEEP_CAPS> I<securebits> очищается. Смотрите " +"B<capabilities>(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))." +msgstr "" +"Сигнал завершения (termination signal) устанавливается в B<SIGCHLD> " +"(B<clone>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file descriptor table is unshared, undoing the effect of the " +"B<CLONE_FILES> flag of B<clone>(2)." +msgstr "" +"Таблица файловых дескрипторов не является общей, отменяется действие флага " +"B<CLONE_FILES> у B<clone>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Note the following further points:" +msgstr "Также стоит учитывать следующее:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All threads other than the calling thread are destroyed during an " +"B<execve>(). Mutexes, condition variables, and other pthreads objects are " +"not preserved." +msgstr "" +"Все нити (threads), отличные от вызывающей, уничтожаются B<execve>(). " +"Мьютексы, условные переменные и другие объекты pthreads не сохраняются." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program start-" +"up." +msgstr "" +"При запуске программы выполняется эквивалент I<setlocale(LC_ALL, \"C\")>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1 specifies that the dispositions of any signals that are ignored or " +"set to the default are left unchanged. POSIX.1 specifies one exception: if " +"B<SIGCHLD> is being ignored, then an implementation may leave the " +"disposition unchanged or reset it to the default; Linux does the former." +msgstr "" +"В POSIX.1 указано, что действия по отношению к любым игнорируемым или " +"имеющим настройку по умолчанию сигналам, остаются неизменными. В POSIX.1 " +"есть одно исключение: если B<SIGCHLD> игнорируется, то реализация может " +"оставить обработку сигнала (disposition) неизменной или вернуть настройку по " +"умолчанию; в Linux используется первое." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), " +"B<aio_write>(3))." +msgstr "" +"Все ожидающие выполнения асинхронные операции ввода-вывод отменяются " +"(B<aio_read>(3), B<aio_write>(3))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For the handling of capabilities during B<execve>(), see B<capabilities>(7)." +msgstr "" +"Как происходит обработка мандатов (capabilities) при вызове B<execve>(), см. " +"B<capabilities>(7)." + +#. On Linux it appears that these file descriptors are +#. always open after an execve(), and it looks like +#. Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By default, file descriptors remain open across an B<execve>(). File " +"descriptors that are marked close-on-exec are closed; see the description of " +"B<FD_CLOEXEC> in B<fcntl>(2). (If a file descriptor is closed, this will " +"cause the release of all record locks obtained on the underlying file by " +"this process. See B<fcntl>(2) for details.) POSIX.1 says that if file " +"descriptors 0, 1, and 2 would otherwise be closed after a successful " +"B<execve>(), and the process would gain privilege because the set-user-ID or " +"set-group-ID mode bit was set on the executed file, then the system may open " +"an unspecified file for each of these file descriptors. As a general " +"principle, no portable program, whether privileged or not, can assume that " +"these three file descriptors will remain closed across an B<execve>()." +msgstr "" +"По умолчанию, после B<execve>() файловые дескрипторы остаются открытыми. " +"Файловые дескрипторы, помеченные как close-on-exec (закрывать при запуске), " +"закрываются; смотрите описание B<FD_CLOEXEC> в B<fcntl>(2) (если файловый " +"дескриптор закрыт, это приводит к освобождению всех имеющихся блокировок, " +"полученных на соответствующий файл данным процессом. Подробней смотрите " +"B<fcntl>(2)). В POSIX.1 сказано, что если бы файловые дескрипторы 0, 1 и 2 " +"были закрыты после успешного вызова B<execve>(), и процесс получил бы " +"привилегии из-за установленных битов режима set-user-ID или set-group-ID на " +"исполняемом файле, то система смогла бы открыть произвольный файл для " +"каждого из этих дескрипторов. Считается, что переносимая программа, с " +"привилегиями или без, не может рассчитывать, что эти три файловых " +"дескриптора будут оставаться закрытыми после B<execve>()." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interpreter scripts" +msgstr "Интерпретируемые сценарии" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An interpreter script is a text file that has execute permission enabled and " +"whose first line is of the form:" +msgstr "" +"Интерпретируемый сценарий \\(em это текстовый файл, у которого установлен " +"бит выполнения и первая строка имеет вид:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<interpreter> must be a valid pathname for an executable file." +msgstr "В поле I<интерпретатор> должно быть указано имя файла запуска." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the I<pathname> argument of B<execve>() specifies an interpreter script, " +"then I<interpreter> will be invoked with the following arguments:" +msgstr "" +"Если в аргументе I<pathname> для B<execve>() указан интерпретируемый " +"сценарий, то I<интерпретатор> будет вызван со следующими параметрами:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<interpreter> [optional-arg] I<pathname> arg...\n" +msgstr "I<интерпретатор> [необязательный параметр] I<pathname> параметр…\n" + +#. See the P - preserve-argv[0] option. +#. Documentation/admin-guide/binfmt-misc.rst +#. https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "where I<pathname> is the absolute pathname of the file specified as the " +#| "first argument of B<execve>(), and I<arg...> is the series of words " +#| "pointed to by the I<argv> argument of B<execve>(), starting at " +#| "I<argv>[1]. Note that there is no way to get the I<argv[0]> that was " +#| "passed to the B<execve>() call." +msgid "" +"where I<pathname> is the pathname of the file specified as the first " +"argument of B<execve>(), and I<arg...> is the series of words pointed to by " +"the I<argv> argument of B<execve>(), starting at I<argv[1]>. Note that " +"there is no way to get the I<argv[0]> that was passed to the B<execve>() " +"call." +msgstr "" +"где I<pathname> — абсолютный путь к файлу, указанному в первом аргументе " +"B<execve>() и I<параметр...> — последовательность слов, указываемых " +"аргументом I<argv> в B<execve>() начиная с I<argv>[1]. Заметим, что нельзя " +"получить I<argv[0]>, переданный в вызов B<execve>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For portable use, I<optional-arg> should either be absent, or be specified " +"as a single word (i.e., it should not contain white space); see NOTES below." +msgstr "" +"В целях переносимости, I<необязательный параметр> должен быть или пустым, " +"или задаваться одним словом (т.е., не должен содержать пробельных символов); " +"см. ЗАМЕЧАНИЯ далее." + +#. commit bf2a9a39639b8b51377905397a5005f444e9a892 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 2.6.28, the kernel permits the interpreter of a script to itself " +"be a script. This permission is recursive, up to a limit of four " +"recursions, so that the interpreter may be a script which is interpreted by " +"a script, and so on." +msgstr "" +"Начиная с Linux 2.6.28 ядро позволяет интерпретатору сценария самому быть " +"сценарием. Это разрешение рекурсивно (до четырёх раз), поэтому сценарий " +"может быть сценарием, который интерпретируется сценарием и т. д." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Limits on size of arguments and environment" +msgstr "Ограничения на размер параметров и окружения" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Most UNIX implementations impose some limit on the total size of the command-" +"line argument (I<argv>) and environment (I<envp>) strings that may be " +"passed to a new program. POSIX.1 allows an implementation to advertise this " +"limit using the B<ARG_MAX> constant (either defined in I<E<lt>limits.hE<gt>> " +"or available at run time using the call I<sysconf(_SC_ARG_MAX)>)." +msgstr "" +"Большинство реализаций UNIX накладывает некоторые ограничения на полный " +"размер параметра командной строки (I<argv>) и окружения (I<envp>), которые " +"можно передать новой программе. POSIX.1 позволяет реализации объявить это " +"ограничение через константу B<ARG_MAX> (определённую в I<E<lt>limits.hE<gt>> " +"или сделать её доступной во время выполнения через вызов " +"I<sysconf(_SC_ARG_MAX)>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "On Linux prior to kernel 2.6.23, the memory used to store the environment " +#| "and argument strings was limited to 32 pages (defined by the kernel " +#| "constant B<MAX_ARG_PAGES>). On architectures with a 4-kB page size, this " +#| "yields a maximum size of 128\\ kB." +msgid "" +"Before Linux 2.6.23, the memory used to store the environment and argument " +"strings was limited to 32 pages (defined by the kernel constant " +"B<MAX_ARG_PAGES>). On architectures with a 4-kB page size, this yields a " +"maximum size of 128\\ kB." +msgstr "" +"В ядре Linux до версии 2.6.23 размер памяти, используемый для хранения " +"окружения и строк параметров, был ограничен 32 страницами (определялся " +"ядерной константой B<MAX_ARG_PAGES>). На архитектурах с 4-КиБ размером " +"страницы это давало максимальный размер в 128\\ КиБ." + +#. For some background on the changes to ARG_MAX in Linux 2.6.23 and +#. Linux 2.6.25, see: +#. http://sourceware.org/bugzilla/show_bug.cgi?id=5786 +#. http://bugzilla.kernel.org/show_bug.cgi?id=10095 +#. http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101, +#. checked into Linux 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2. +#. Ollie: That doesn't include the lists of pointers, though, +#. so the actual usage is a bit higher (1 pointer per argument). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "On kernel 2.6.23 and later, most architectures support a size limit " +#| "derived from the soft B<RLIMIT_STACK> resource limit (see " +#| "B<getrlimit>(2)) that is in force at the time of the B<execve>() call. " +#| "(Architectures with no memory management unit are excepted: they maintain " +#| "the limit that was in effect before kernel 2.6.23.) This change allows " +#| "programs to have a much larger argument and/or environment list. For " +#| "these architectures, the total size is limited to 1/4 of the allowed " +#| "stack size. (Imposing the 1/4-limit ensures that the new program always " +#| "has some stack space.) Additionally, the total size is limited to 3/4 of " +#| "the value of the kernel constant B<_STK_LIM> (8 Mibibytes). Since Linux " +#| "2.6.25, the kernel also places a floor of 32 pages on this size limit, so " +#| "that, even when B<RLIMIT_STACK> is set very low, applications are " +#| "guaranteed to have at least as much argument and environment space as was " +#| "provided by Linux 2.6.23 and earlier. (This guarantee was not provided " +#| "in Linux 2.6.23 and 2.6.24.) Additionally, the limit per string is 32 " +#| "pages (the kernel constant B<MAX_ARG_STRLEN>), and the maximum number of " +#| "strings is 0x7FFFFFFF." +msgid "" +"On Linux 2.6.23 and later, most architectures support a size limit derived " +"from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2)) that is " +"in force at the time of the B<execve>() call. (Architectures with no " +"memory management unit are excepted: they maintain the limit that was in " +"effect before Linux 2.6.23.) This change allows programs to have a much " +"larger argument and/or environment list. For these architectures, the total " +"size is limited to 1/4 of the allowed stack size. (Imposing the 1/4-limit " +"ensures that the new program always has some stack space.) Additionally, " +"the total size is limited to 3/4 of the value of the kernel constant " +"B<_STK_LIM> (8 MiB). Since Linux 2.6.25, the kernel also places a floor of " +"32 pages on this size limit, so that, even when B<RLIMIT_STACK> is set very " +"low, applications are guaranteed to have at least as much argument and " +"environment space as was provided by Linux 2.6.22 and earlier. (This " +"guarantee was not provided in Linux 2.6.23 and 2.6.24.) Additionally, the " +"limit per string is 32 pages (the kernel constant B<MAX_ARG_STRLEN>), and " +"the maximum number of strings is 0x7FFFFFFF." +msgstr "" +"Начиная с ядра версии 2.6.23, большинство архитектур поддерживают предельный " +"размер, высчитываемый от мягкого ограничения ресурса B<RLIMIT_STACK> (см. " +"B<getrlimit>(2)), который действует во время вызова B<execve>(). (Исключение " +"составляют архитектуры без механизма управления памятью: в них ограничение " +"рассчитывается как и до версии 2.6.23.) Это изменение позволяет программам " +"иметь больший список параметров и/или окружения. Для этих архитектур полный " +"размер ограничен до 1/4 разрешённого размера стека. (Накладываемое " +"ограничение в 1/4 позволяет новой программе всегда иметь некоторое " +"пространство под стек.) Кроме того, полный размер ограничен 3/4 значения " +"ядерной константы B<_STK_LIM> (8 мибибайт). Начиная с Linux версии 2.6.25, " +"ядро также отводит нижние 32 страницы для этого предельного размера, " +"поэтому, даже когда B<RLIMIT_STACK> задан слишком низко, приложения " +"гарантированно получат, по крайней мере, столько же пространства под " +"параметры и окружение, сколько бы они получили при работе с Linux 2.6.23 и " +"ранее. (Это гарантия не обеспечивалась в Linux 2.6.23 и 2.6.24.) Также, " +"размер строки ограничен 32 страницами (ядерная константа B<MAX_ARG_STRLEN>), " +"а максимальное число строк может быть 0x7FFFFFFF." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "On success, B<execve>() does not return, on error -1 is returned, and " +#| "I<errno> is set appropriately." +msgid "" +"On success, B<execve>() does not return, on error -1 is returned, and " +"I<errno> is set to indicate the error." +msgstr "" +"При успешном выполнении B<execve>() не возвращает управление. В случае " +"ошибки возвращается -1, а I<errno> устанавливается в соответствующее " +"значение." + +#. 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<E2BIG>" +msgstr "B<E2BIG>" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The total number of bytes in the environment (I<envp>) and argument list " +"(I<argv>) is too large, an argument or environment string is too long, or " +"the full I<pathname> of the executable is too long. The terminating null " +"byte is counted as part of the string length." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EACCES>" +msgstr "B<EACCES>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Search permission is denied on a component of the path prefix of I<pathname> " +"or the name of a script interpreter. (See also B<path_resolution>(7).)" +msgstr "" +"В одном из каталогов префикса I<pathname> или интерпретатора не разрешён " +"поиск (смотрите также B<path_resolution>(7))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The file or a script interpreter is not a regular file." +msgstr "Файл или интерпретатор не являются обычным файлом." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Execute permission is denied for the file or a script or ELF interpreter." +msgstr "" +"Не установлен бит выполнения на файле или сценарии или интерпретаторе ELF." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The filesystem is mounted I<noexec>." +msgstr "Файловая система смонтирована с I<noexec>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAGAIN> (since Linux 3.1)" +msgstr "B<EAGAIN> (начиная с Linux 3.1)" + +#. commit 72fa59970f8698023045ab0713d66f3f4f96945c +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Having changed its real UID using one of the B<set*uid>() calls, the " +#| "caller was\\(emand is now still\\(emabove its B<RLIMIT_NPROC> resource " +#| "limit (see B<setrlimit>(2)). For a more detailed explanation of this " +#| "error, see NOTES." +msgid "" +"Having changed its real UID using one of the B<set*uid>() calls, the caller " +"was\\[em]and is now still\\[em]above its B<RLIMIT_NPROC> resource limit (see " +"B<setrlimit>(2)). For a more detailed explanation of this error, see NOTES." +msgstr "" +"Из-за изменения реального UID одним из вызовов B<set*uid>() ранее, " +"вызывающий всё ещё превышает ограничитель ресурса B<RLIMIT_NPROC> (смотрите " +"B<setrlimit>(2)). Подробное объяснение этой ошибки смотрите в ЗАМЕЧАНИЯХ." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "B<EFAULT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> or one of the pointers in the vectors I<argv> or I<envp> points " +"outside your accessible address space." +msgstr "" +"Значение I<pathname> или один из указателей в векторах I<argv> или I<envp> " +"указывает за пределы доступного адресного пространства." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An ELF executable had more than one PT_INTERP segment (i.e., tried to name " +"more than one interpreter)." +msgstr "" +"Исполняемый ELF-файл содержит более одного сегмента PT_INTERP (т.е., в нём " +"указано более одного интерпретатора)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EIO>" +msgstr "B<EIO>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An I/O error occurred." +msgstr "Произошла ошибка ввода-вывода." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EISDIR>" +msgstr "B<EISDIR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An ELF interpreter was a directory." +msgstr "Интерпретатор ELF является каталогом." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ELIBBAD>" +msgstr "B<ELIBBAD>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An ELF interpreter was not in a recognized format." +msgstr "Не распознан формат интерпретатора ELF." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ELOOP>" +msgstr "B<ELOOP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Too many symbolic links were encountered in resolving I<pathname> or the " +"name of a script or ELF interpreter." +msgstr "" +"Во время определения I<pathname>, имени сценария или интерпретатора ELF " +"встретилось слишком много символьных ссылок." + +#. commit d740269867021faf4ce38a449353d2b986c34a67 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The maximum recursion limit was reached during recursive script " +"interpretation (see \"Interpreter scripts\", above). Before Linux 3.8, the " +"error produced for this case was B<ENOEXEC>." +msgstr "" +"Достигнут предел количества рекурсий при интерпретации сценария (смотрите " +"«Интерпретируемые сценарии» выше). До Linux 3.8 для этого случая " +"возвращалась ошибка B<ENOEXEC>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EMFILE>" +msgstr "B<EMFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The per-process limit on the number of open file descriptors has been " +"reached." +msgstr "" +"Было достигнуто ограничение по количеству открытых файловых дескрипторов на " +"процесс." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENAMETOOLONG>" +msgstr "B<ENAMETOOLONG>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<pathname> is too long." +msgstr "Слишком длинное значение аргумента I<pathname>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "B<ENFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "Достигнуто максимальное количество открытых файлов в системе." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOENT>" +msgstr "B<ENOENT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "A component of the path prefix of I<pathname> or a script or ELF " +#| "interpreter is not a directory." +msgid "The file I<pathname> or a script or ELF interpreter does not exist." +msgstr "" +"Компонент пути в I<pathname>, сценарии или интерпретаторе ELF в " +"действительности не является каталогом." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOEXEC>" +msgstr "B<ENOEXEC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An executable is not in a recognized format, is for the wrong architecture, " +"or has some other format error that means it cannot be executed." +msgstr "" +"Не распознан формат исполняемого файла, он не подходит для архитектуры, или " +"имеет ошибки в формате, из-за чего не может быть выполнен." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "B<ENOMEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Insufficient kernel memory was available." +msgstr "Недостаточное количество памяти ядра." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOTDIR>" +msgstr "B<ENOTDIR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A component of the path prefix of I<pathname> or a script or ELF interpreter " +"is not a directory." +msgstr "" +"Компонент пути в I<pathname>, сценарии или интерпретаторе ELF в " +"действительности не является каталогом." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "B<EPERM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The filesystem is mounted I<nosuid>, the user is not the superuser, and the " +"file has the set-user-ID or set-group-ID bit set." +msgstr "" +"Файловая система смонтирована с I<nosuid>, пользователь не является " +"суперпользователем, а на файле установлен бит set-user-ID или set-group-ID." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process is being traced, the user is not the superuser and the file has " +"the set-user-ID or set-group-ID bit set." +msgstr "" +"Над процессом выполняется трассировка, пользователь не имеет прав " +"суперпользователя, а у файла установлен бит set-user-ID или set-group-ID." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A \"capability-dumb\" applications would not obtain the full set of " +"permitted capabilities granted by the executable file. See " +"B<capabilities>(7)." +msgstr "" +"Приложение «с недоработанными мандатами» (capability-dumb) не получило бы " +"полный набор ограничивающих мандатов, разрешаемых исполняемым файлом. " +"Смотрите B<capabilities>(7)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ETXTBSY>" +msgstr "B<ETXTBSY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The specified executable was open for writing by one or more processes." +msgstr "" +"Заданный исполняемый файл был открыт на запись одним или более процессов." + +#. type: SH +#: archlinux 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 "" +#| "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. POSIX does not document the #! " +#| "behavior, but it exists (with some variations) on other UNIX systems." +msgid "" +"POSIX does not document the #! behavior, but it exists (with some " +"variations) on other UNIX systems." +msgstr "" +"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. В POSIX не описано поведение #!, " +"но это существует (в нескольких вариантах) в других системах UNIX." + +#. e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but +#. HP-UX 11 is like Linux -- mtk, Apr 2007 +#. Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408 +#. Bug rejected (because fix would constitute an ABI change). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux, I<argv> and I<envp> can be specified as NULL. In both cases, this " +"has the same effect as specifying the argument as a pointer to a list " +"containing a single null pointer. B<Do not take advantage of this " +"nonstandard and nonportable misfeature!> On many other UNIX systems, " +"specifying I<argv> as NULL will result in an error (B<EFAULT>). I<Some> " +"other UNIX systems treat the I<envp==NULL> case the same as Linux." +msgstr "" +"В Linux значения I<argv> и I<envp> могут быть равны NULL. В обоих случаях, " +"это работает также, как если аргумент бы содержал указатель на список с " +"единственным указателем null. B<Не пользуйтесь преимуществом данной " +"нестандартной и непереносимой возможностью!> В многих других системах UNIX " +"указание I<argv> равным NULL приводит к ошибке (B<EFAULT>). I<Некоторые> " +"другие системы UNIX при I<envp==NULL> работают также как Linux." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1 says that values returned by B<sysconf>(3) should be invariant over " +"the lifetime of a process. However, since Linux 2.6.23, if the " +"B<RLIMIT_STACK> resource limit changes, then the value reported by " +"B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space " +"for holding command-line arguments and environment variables has changed." +msgstr "" +"В POSIX.1 указано, что значения, возвращаемые B<sysconf>(3), должны быть " +"неизменны в течении существования процесса. Однако, начиная с версии Linux " +"2.6.23, если изменяется ограничение ресурса B<RLIMIT_STACK>, то значение, " +"возвращаемое для B<_SC_ARG_MAX>, также будет изменено, чтобы отразить, что " +"ограничение на пространство для хранения параметров командной строки и " +"окружения было изменено." + +#. commit 6eb3c3d0a52dca337e327ae8868ca1f44a712e02 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The kernel imposes a maximum length on the text that follows the \"#!\" " +"characters at the start of a script; characters beyond the limit are " +"ignored. Before Linux 5.1, the limit is 127 characters. Since Linux 5.1, " +"the limit is 255 characters." +msgstr "" +"Ядро накладывает ограничение на максимальную длину текста после символов " +"«#!» в начале сценария; символы за пределами границ игнорируются. До Linux " +"5.1 было ограничение в 127 символов. Начиная с Linux 5.1 ограничение " +"установлено в 255 символов." + +#. e.g., Solaris 8 +#. e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The semantics of the I<optional-arg> argument of an interpreter script vary " +"across implementations. On Linux, the entire string following the " +"I<interpreter> name is passed as a single argument to the interpreter, and " +"this string can include white space. However, behavior differs on some " +"other systems. Some systems use the first white space to terminate " +"I<optional-arg>. On some systems, an interpreter script can have multiple " +"arguments, and white spaces in I<optional-arg> are used to delimit the " +"arguments." +msgstr "" +"Семантика I<необязательного параметра> интерпретатора сценариев различна в " +"разных реализациях. В Linux, вся строка после имени I<интерпретатора> " +"передаётся интерпретатору как единый параметр, и эта строка может содержать " +"пробельные символы. Однако, такое поведение отличается от других систем. " +"Некоторые системы используют первый пробел в качестве признака окончания " +"I<необязательного параметра>. В других системах, интерпретатор сценариев " +"может иметь несколько параметров, и пробелы в I<необязательном параметре> " +"используются для их разграничения." + +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux (like most other modern UNIX systems) ignores the set-user-ID and set-" +"group-ID bits on scripts." +msgstr "" +"На файлах со сценариями в Linux (как и большинстве других современных " +"системах UNIX) игнорируются биты set-user-ID и set-group-ID." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "POSIX.1-2008." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "ИСТОРИЯ" + +#. SVr4 documents additional error +#. conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not +#. document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, +#. EISDIR or ELIBBAD error conditions. +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001, SVr4, 4.3BSD." +msgstr "POSIX.1-2001, SVr4, 4.3BSD." + +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"With UNIX\\ V6, the argument list of an B<exec>() call was ended by 0, " +"while the argument list of I<main> was ended by -1. Thus, this argument " +"list was not directly usable in a further B<exec>() call. Since UNIX\\ V7, " +"both are NULL." +msgstr "" +"В UNIX\\ V6 список аргументов вызова B<exec>() заканчивался 0, а список " +"аргументов I<main> заканчивался -1. Поэтому, этот список аргументов не мог " +"быть использован напрямую в последующем вызове B<exec>(). Начиная с UNIX\\ " +"V7 оба списка стали оканчиваться NULL." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One sometimes sees B<execve>() (and the related functions described in " +"B<exec>(3)) described as \"executing a I<new> process\" (or similar). This " +"is a highly misleading description: there is no new process; many attributes " +"of the calling process remain unchanged (in particular, its PID). All that " +"B<execve>() does is arrange for an existing process (the calling process) " +"to execute a new program." +msgstr "" +"Иногда, про B<execve>() (и подобные функции, описанные в B<exec>(3)) " +"говорят, что он «выполняет I<новый> процесс». Это крайне некорректная фраза " +"— не появляется нового процесса; много атрибутов вызывающего процесса " +"остаются неизменными (в частности, его PID). Всё, что делает B<execve>(2), " +"это перестраивает существующий процесс (вызывавший процесс) под выполнение " +"новой программы." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d." +msgstr "" +"Над процессами с установленными set-user-ID и set-group-ID не может " +"выполняться B<ptrace>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The result of mounting a filesystem I<nosuid> varies across Linux kernel " +"versions: some will refuse execution of set-user-ID and set-group-ID " +"executables when this would give the user powers they did not have already " +"(and return B<EPERM>), some will just ignore the set-user-ID and set-group-" +"ID bits and B<exec>() successfully." +msgstr "" +"Результат работы при монтировании файловой системы с параметром I<nosuid> " +"различается в разных версиях ядра Linux: некоторые будут отказывать в " +"запуске исполняемых файлов с установленными битами set-user-ID и set-group-" +"ID, если это дало бы пользователю больше прав чем уже есть (и возвращать " +"B<EPERM>), другие просто проигнорируют биты set-user-ID и set-group-ID и " +"успешно выполнят B<exec>()." + +#. commit 19d860a140beac48a1377f179e693abe86a9dac9 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "In most cases where B<execve>() fails, control returns to the original " +#| "executable image, and the caller of B<execve>() can then handle the " +#| "error. However, in (rare) cases (typically caused by resource " +#| "exhaustion), failure may occur past the point of no return: the original " +#| "executable image has been torn down, but the new image could not be " +#| "completely built. In such cases, the kernel kills the process with a " +#| "B<SIGKILL> signal." +msgid "" +"In most cases where B<execve>() fails, control returns to the original " +"executable image, and the caller of B<execve>() can then handle the error. " +"However, in (rare) cases (typically caused by resource exhaustion), failure " +"may occur past the point of no return: the original executable image has " +"been torn down, but the new image could not be completely built. In such " +"cases, the kernel kills the process with a B<SIGSEGV> (B<SIGKILL> until " +"Linux 3.17) signal." +msgstr "" +"В большинстве случаев отказа B<execve>() управление возвращается в " +"первоначально исполняемый образ и вызывающий B<execve>() может обработать " +"ошибку. Однако в (редких) случаях (обычно вызванных отсутствием ресурсов), " +"ошибка может возникнуть после точки невозврата: первоначально исполняемый " +"образ уже разрушен, а новый образ ещё сознан не полностью. В таких случаях " +"ядро убивает процесс сигналом B<SIGKILL>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve() and EAGAIN" +msgstr "execve() и EAGAIN" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A more detailed explanation of the B<EAGAIN> error that can occur (since " +"Linux 3.1) when calling B<execve>() is as follows." +msgstr "" +"Это более подробное объяснение ошибки B<EAGAIN>, которая возвращается " +"(начиная с Linux 3.1) при вызове B<execve>()." + +#. commit 909cc4ae86f3380152a18e2a3c44523893ee11c4 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), " +#| "B<setreuid>(2), or B<setresuid>(2) caused the real user ID of the " +#| "process to change, and that change caused the process to exceed its " +#| "B<RLIMIT_NPROC> resource limit (i.e., the number of processes belonging " +#| "to the new real UID exceeds the resource limit). From Linux 2.6.0 to " +#| "3.0, this caused the B<set*uid>() call to fail. (Prior to 2.6, the " +#| "resource limit was not imposed on processes that changed their user IDs.)" +msgid "" +"The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), " +"B<setreuid>(2), or B<setresuid>(2) caused the real user ID of the process " +"to change, and that change caused the process to exceed its B<RLIMIT_NPROC> " +"resource limit (i.e., the number of processes belonging to the new real UID " +"exceeds the resource limit). From Linux 2.6.0 to Linux 3.0, this caused the " +"B<set*uid>() call to fail. (Before Linux 2.6, the resource limit was not " +"imposed on processes that changed their user IDs.)" +msgstr "" +"Ошибка B<EAGAIN> может возникать, когда I<предшествующий> вызов " +"B<setuid>(2), B<setreuid>(2) или B<setresuid>(2) приводит к изменению у " +"процесса реального идентификатора пользователя и это изменение приводит к " +"тому, что процесс превышает свой ограничитель ресурса B<RLIMIT_NPROC> (т. " +"е., количество процессов, принадлежащих новому реальному UID, превышает " +"ограничитель ресурса). В версиях Linux с 2.6.0 по 3.0, это приводит к ошибке " +"вызова B<set*uid>() (до версии 2.6 ограничитель ресурса не учитывался для " +"процессов, которые изменили идентификатор пользователя)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Since Linux 3.1, the scenario just described no longer causes the " +#| "B<set*uid>() call to fail, because it too often led to security holes " +#| "where buggy applications didn't check the return status and assumed " +#| "that\\(emif the caller had root privileges\\(emthe call would always " +#| "succeed. Instead, the B<set*uid>() calls now successfully change the " +#| "real UID, but the kernel sets an internal flag, named " +#| "B<PF_NPROC_EXCEEDED>, to note that the B<RLIMIT_NPROC> resource limit has " +#| "been exceeded. If the B<PF_NPROC_EXCEEDED> flag is set and the resource " +#| "limit is still exceeded at the time of a subsequent B<execve>() call, " +#| "that call fails with the error B<EAGAIN>. This kernel logic ensures that " +#| "the B<RLIMIT_NPROC> resource limit is still enforced for the common " +#| "privileged daemon workflow\\(emnamely, B<fork>(2) + B<set*uid>() + " +#| "B<execve>()." +msgid "" +"Since Linux 3.1, the scenario just described no longer causes the " +"B<set*uid>() call to fail, because it too often led to security holes where " +"buggy applications didn't check the return status and assumed that\\[em]if " +"the caller had root privileges\\[em]the call would always succeed. Instead, " +"the B<set*uid>() calls now successfully change the real UID, but the kernel " +"sets an internal flag, named B<PF_NPROC_EXCEEDED>, to note that the " +"B<RLIMIT_NPROC> resource limit has been exceeded. If the " +"B<PF_NPROC_EXCEEDED> flag is set and the resource limit is still exceeded at " +"the time of a subsequent B<execve>() call, that call fails with the error " +"B<EAGAIN>. This kernel logic ensures that the B<RLIMIT_NPROC> resource " +"limit is still enforced for the common privileged daemon " +"workflow\\[em]namely, B<fork>(2) + B<set*uid>() + B<execve>()." +msgstr "" +"Начиная с Linux 3.1, описанный сценарий больше не приводит к ошибке в вызове " +"B<set*uid>(), так как это слишком часто приводило к дырам в безопасности, " +"когда некорректное приложение не проверяет возвращаемое состояние и " +"предполагает, что если вызывающий имеет права root, то вызов всегда " +"выполняется успешно. Вместо этого вызов B<set*uid>() теперь успешно изменяет " +"реальный UID, но ядро устанавливает внутренний флаг с именем " +"B<PF_NPROC_EXCEEDED>, который означает, что был превышен ограничитель " +"ресурса B<RLIMIT_NPROC>. Если флаг B<PF_NPROC_EXCEEDED> установлен и " +"ограничитель ресурса всё ещё превышен на момент последующего вызова " +"B<execve>(), то вызов завершается с ошибкой B<EAGAIN>. Такая логика ядра " +"гарантирует, что ограничитель ресурса B<RLIMIT_NPROC> будет учтён при " +"обычной последовательности действий для привилегированных служб, а именно — " +"B<fork>(2) + B<set*uid>() + B<execve>()." + +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the resource limit was not still exceeded at the time of the B<execve>() " +"call (because other processes belonging to this real UID terminated between " +"the B<set*uid>() call and the B<execve>() call), then the B<execve>() " +"call succeeds and the kernel clears the B<PF_NPROC_EXCEEDED> process flag. " +"The flag is also cleared if a subsequent call to B<fork>(2) by this process " +"succeeds." +msgstr "" +"Если ограничитель ресурса был не превышен на момент вызова B<execve>() (так " +"как другие процессы, принадлежащие этому реальному UID завершили работу " +"между вызовом B<set*uid>() и B<execve>()), то вызов B<execve>() выполнится " +"успешно и ядро очистит флаг B<PF_NPROC_EXCEEDED> у процесса. Флаг также " +"очищается, если при успешном выполнении процессом последующего вызова " +"B<fork>(2)." + +#. 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 is designed to be execed by the second program below. " +"It just echoes its command-line arguments, one per line." +msgstr "" +"Данная программа запускается второй программой, представленной ниже. Она " +"просто выводит свои параметры командной строки по одному на строку." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "int\n" +#| "main(int argc, char *argv[])\n" +#| "{\n" +#| " for (size_t j = 0; j E<lt> argc; j++)\n" +#| " printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" +msgid "" +"/* myecho.c */\n" +"\\&\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This program can be used to exec the program named in its command-line " +"argument:" +msgstr "" +"Эта программа может использоваться для запуска программы, чьё имя указано в " +"параметре командной строки." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"/* execve.c */\n" +"\\&\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" static char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n" +" static char *newenviron[] = { NULL };\n" +"\\&\n" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" newargv[0] = argv[1];\n" +"\\&\n" +" execve(argv[1], newargv, newenviron);\n" +" perror(\"execve\"); /* execve() returns only on error */\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "We can use the second program to exec the first as follows:" +msgstr "Мы можем использовать вторую программу для запуска первой:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< cc myecho.c -o myecho>\n" +"$B< cc execve.c -o execve>\n" +"$B< ./execve ./myecho>\n" +"argv[0]: ./myecho\n" +"argv[1]: hello\n" +"argv[2]: world\n" +msgstr "" +"$B< cc myecho.c -o myecho>\n" +"$B< cc execve.c -o execve>\n" +"$B< ./execve ./myecho>\n" +"argv[0]: ./myecho\n" +"argv[1]: hello\n" +"argv[2]: world\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"We can also use these programs to demonstrate the use of a script " +"interpreter. To do this we create a script whose \"interpreter\" is our " +"I<myecho> program:" +msgstr "" +"Также мы можем использовать эти программы для демонстрации использования " +"интерпретатора сценариев. Для этого создадим сценарий, чей \"интерпретатор\" " +"указывает на нашу программу I<myecho>:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "$B< cat E<gt> script>\n" +#| "B<#!./myecho script-arg>\n" +#| "B<\\(haD>\n" +#| "$B< chmod +x script>\n" +msgid "" +"$B< cat E<gt> script>\n" +"B<#!./myecho script-arg>\n" +"B<\\[ha]D>\n" +"$B< chmod +x script>\n" +msgstr "" +"$B< cat E<gt> script>\n" +"B<#!./myecho script-arg>\n" +"B<\\(haD>\n" +"$B< chmod +x script>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "We can then use our program to exec the script:" +msgstr "Теперь мы можем использовать нашу программу для запуска сценария:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< ./execve ./script>\n" +"argv[0]: ./myecho\n" +"argv[1]: script-arg\n" +"argv[2]: ./script\n" +"argv[3]: hello\n" +"argv[4]: world\n" +msgstr "" +"$B< ./execve ./script>\n" +"argv[0]: ./myecho\n" +"argv[1]: script-arg\n" +"argv[2]: ./script\n" +"argv[3]: hello\n" +"argv[4]: world\n" + +#. 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<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), " +"B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getauxval>(3), B<getopt>(3), " +"B<system>(3), B<capabilities>(7), B<credentials>(7), B<environ>(7), " +"B<path_resolution>(7), B<ld.so>(8)" +msgstr "" +"B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), " +"B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getauxval>(3), B<getopt>(3), " +"B<system>(3), B<capabilities>(7), B<credentials>(7), B<environ>(7), " +"B<path_resolution>(7), B<ld.so>(8)" + +#. 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 debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "I<argv> is an array of argument strings passed to the new program. By " +#| "convention, the first of these strings (i.e., I<argv[0]>) should contain " +#| "the filename associated with the file being executed. I<envp> is an " +#| "array of strings, conventionally of the form B<key=value>, which are " +#| "passed as environment to the new program. The I<argv> and I<envp> arrays " +#| "must each include a null pointer at the end of the array." +msgid "" +"I<argv> is an array of pointers to strings passed to the new program as its " +"command-line arguments. By convention, the first of these strings (i.e., " +"I<argv[0]>) should contain the filename associated with the file being " +"executed. The I<argv> array must be terminated by a NULL pointer. (Thus, " +"in the new program, I<argv[argc]> will be NULL.)" +msgstr "" +"I<argv> — это массив строковых параметров, передаваемых новой программе. По " +"соглашению, в первой строке (т. е., I<argv[0]>) должно содержаться имя " +"файла, относящееся к запускаемой программе. I<envp> — это массив строк в " +"формате B<ключ=значение>, которые передаются новой программе в качестве " +"окружения (environment). Оба массива I<argv> и I<envp> завершаются " +"указателем null." + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<envp> is an array of pointers to strings, conventionally of the form " +"B<key=value>, which are passed as the environment of the new program. The " +"I<envp> array must be terminated by a NULL pointer." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The total number of bytes in the environment (I<envp>) and argument list " +"(I<argv>) is too large." +msgstr "" +"Слишком большое общее количество байт для окружения (I<envp>) и списка " +"параметров (I<argv>)." + +#. SVr4 documents additional error +#. conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not +#. document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, +#. EISDIR or ELIBBAD error conditions. +#. type: Plain text +#: debian-bookworm +msgid "" +"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. POSIX does not document the #! " +"behavior, but it exists (with some variations) on other UNIX systems." +msgstr "" +"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. В POSIX не описано поведение #!, " +"но это существует (в нескольких вариантах) в других системах UNIX." + +#. type: SS +#: debian-bookworm +#, no-wrap +msgid "Historical" +msgstr "Историческая справка" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* myecho.c */\n" +msgstr "/* myecho.c */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +msgstr "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\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: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* execve.c */\n" +msgstr "/* execve.c */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" static char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n" +" static char *newenviron[] = { NULL };\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" static char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n" +" static char *newenviron[] = { NULL };\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Использование: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " newargv[0] = argv[1];\n" +msgstr " newargv[0] = argv[1];\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" execve(argv[1], newargv, newenviron);\n" +" perror(\"execve\"); /* execve() returns only on error */\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" +" execve(argv[1], newargv, newenviron);\n" +" perror(\"execve\"); /* execve() возвращается только при ошибке */\n" +" exit(EXIT_FAILURE);\n" +"}\n" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "3 мая 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |