Section: Manual del Programador de Linux (2)
Updated: 23 junio 1997
Index Return to Main
Contents
wait3, wait4 - esperan la terminación de un proceso, al estilo BSD
#define _USE_BSD #include <sys/types.h> #include <sys/resource.h> #include <sys/wait.h> pid_t wait3(int *status, int options, struct rusage *rusage) pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage)
La función wait3 suspende la ejecución del proceso actual hasta que finalice un hijo o hasta que se produzca una señal cuya acción sea finalizar el proceso actual o llamar a una función manejadora de señales. Si un hijo ha terminado ya cuando se realiza la llamada (lo que se conoce como proceso "zombie"), la función regresa inmediatamente. Todos los recursos del sistema utilizados por el hijo son liberados.
La función wait4 suspende la ejecución del proceso actual hasta que un hijo, especificado por el argumento pid, haya terminado o hasta que se produzca una señal cuya acción sea finalizar el proceso actual o llamar a una función manejadora de señales. Si el hijo especificado por pid ha terminado cuando se realiza la llamada (lo que se conoce como proceso "zombie"), la función regresa inmediatamente. Todos los recursos del sistema utilizados por el hijo son liberados.
El valor de pid puede ser uno de los siguientes:
El valor de options es un OR de cero o más de las siguientes constantes:
Si status no es NULL, wait3 o wait4 almacenan información de estado en la memoria apuntada por status.
Este estado puede ser evaluado con las siguientes macros (que toman como argumento el propio buffer (un int) --- ¡no un puntero al buffer!):
Si rusage no es NULL, se rellenará la estructura structrusage, según se define en <sys/resource.h>, con información contable. Ver getrusage(2) para más detalles.
El ID del proceso hijo que terminó, -1 en caso de error (en particular, cuando no existe un proceso hijo, por el que no esperamos, del tipo especificado) o cero si se utilizó WNOHANG y no había ningún hijo disponible todavía. En los dos últimos casos errno será activado convenientemente.
(2), getrusage(2), wait(2), signal(7)
This document was created by man2html, using
the manual pages.
Time: 06:16:21 GMT, January 22, 2005