ИМЯ
wait3, wait4 - ожидает смену состояния в стиле BSDLIBRARY
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():
Since glibc 2.26: _DEFAULT_SOURCE || (_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)) From glibc 2.19 to glibc 2.25: _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500 glibc 2.19 and earlier: _BSD_SOURCE || _XOPEN_SOURCE >= 500wait4():
Начиная с 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 <[email protected]> и Yuri Kozlov <[email protected]> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]5 февраля 2023 г. | Linux man-pages 6.03 |