[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Ожидание изменения состояния подпроцесса
waitpid(2) приостанавливает исполнение вызывающего процесса, пока один
из его потомков не изменит состояние. Если такое изменение произошло
до вызова waitpid(2), он возвращает управление немедленно. pid задает
набор подпроцессов, для которых запрашивается состояние.
pid состояние запрашивается
-1 для всех подпроцессов
> 0 для подпроцесса с идентификатором pid
0 для любого подпроцесса с тем же
идентификатором группы, что у вызывающего
процесса
< -1 для любого подпроцесса, чей идентификатор
группы процессов равен -pid
Параметр options формируется побитовым ИЛИ следующих значений, которые
описаны в <sys/wait.h>
WNOHANG то же значение, что и для waitid(2).
WUNTRACED то же, что WSTOPPED для waitid(2).
WCONTINUED то же, что и для waitid(2).
WNOWAIT то же, что и для waitid(2).
Функция waitpid(2) просто вызывает waitid(2), добавив опции
WEXITED | WTRAPPED к значению соответствующего параметра waitpid(2).
Если передан ненулевой указатель stat_loc, то слово состояния
подпроцесса будет сохранено по этому указателю. Затем полученное
значение может быть проанализировано макросами из wstat(5).
Новое в SVR4: waitpid(2)
ОЖИДАНИЕ ИЗМЕНЕНИЯ СОСТОЯНИЯ ПОДПРОЦЕССА
waitpid(2)
ИМЯ
waitpid - ожидание изменения состояния процесса
ИСПОЛЬЗОВАНИЕ
#include <sys/types.h>
#include <sys/wait.h>
pid_t waitpid(pid_t pid, int *stat_loc,
int options);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - идентификатор подпроцесса или 0, если WHOHANG
неуспех - -1 и errno установлена