wait4(2)

НАИМЕНОВАНИЕ
wait3, wait4 - ожидает смену состояния в стиле BSD

БИБЛИОТЕКА
Standard C library (libc, -lc)

ОБЗОР
#include <sys/wait.h>

pid_t wait3(int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);
pid_t wait4(pid_t pid, int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);

    Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

wait3():
    Начиная с glibc 2.26:
        _DEFAULT_SOURCE
            || (_XOPEN_SOURCE >= 500 &&
                ! (_POSIX_C_SOURCE >= 200112L
                   || _XOPEN_SOURCE >= 600))
    От glibc 2.19 до glibc 2.25:
        _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
    glibc 2.19 и ранее:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500

wait4():
    Начиная с glibc 2.19:
        _DEFAULT_SOURCE
    В версии glibc 2.19 и более ранних:
        _BSD_SOURCE

ОПИСАНИЕ
Эти функции являются нестандартными; в новых программах используйте waitpid(2) или waitid(2).

Системные вызовы wait3() и wait4() похожи на waitpid(2), но дополнительно возвращают информацию об использовании ресурсов потомком в структуре, указываемой rusage.

Помимо использования аргумента rusage, вызов wait3():

    wait3(wstatus, options, rusage);

эквивалентен:

    waitpid(-1, wstatus, options);

Подобно этому, вызов wait4():

    wait4(pid, wstatus, options, rusage);

эквивалентен:

    waitpid(pid, wstatus, options);

Другими словами, wait3() ожидает любого потомка, а для wait4() может быть указан определённый потомок или потомки, которых нужно ожидать. Подробней см. wait(2).

Если rusage не равно NULL, то struct rusage, на которую он указывает, будет заполнен информацией о работе потомка. Подробней см. getrusage(2).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Как в waitpid(2).

ОШИБКИ
Как в waitpid(2).

СТАНДАРТЫ
Отсутствуют.

ИСТОРИЯ
4.3BSD.

В SUSv1 определена wait3(); в SUSv2 включена wait3(), но помечена как УСТАРЕВШАЯ; удалена в SUSv3.

Включать <sys/time.h> в настоящее время не требуется, но это увеличивает переносимость. (Безусловно, в <sys/resource.h> определена структура rusage с полями типа struct timeval, которая определена в <sys/time.h>.)

  Отличия между библиотекой C и ядром
В Linux, wait3() является библиотечной функцией, реализованной на основе системного вызова wait4().

СМОТРИТЕ ТАКЖЕ
fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).