table of contents
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
WAIT4(2) | Руководство программиста Linux | WAIT4(2) |
ИМЯ¶
wait3, wait4 - ожидает смену состояния в стиле BSD
СИНТАКСИС¶
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h>
pid_t wait3(int *wstatus, int options, struct rusage *rusage);
pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage);
wait3():
Since glibc 2.26:
_DEFAULT_SOURCE ||
(_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))
From glibc 2.19 to 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Glibc 2.19 and earlier:
_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)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com> и Yuri Kozlov <yuray@komyakino.ru>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
9 июня 2020 г. | Linux |