WAIT4(2)

NOME
wait3, wait4 - attende che i processi cambino stato, in stile BSD

SINTASSI
#include <sys/types.h>
#include <sys/time.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);

Test delle funzioni e requisiti delle macro per glibc (vedere feature_test_macros(7)):

wait3(): _BSD_SOURCE
wait4(): _BSD_SOURCE || _XOPEN_SOURCE >= 500

DESCRIZIONE
Le chiamate di sistema wait3() e wait4() sono simili a waitpid(2), ma in aggiunta restituiscono informazioni sull'uso di risorse da parte del processo figlio nella struttura puntata da rusage.

Oltre ad usare l'argomento rusage , la seguente chiamata wait3():

    wait3(status, options, rusage);

è equivalente a:

    waitpid(-1, status, options);

Similmente la seguente chiamata wait4():

    wait4(pid, status, options, rusage);

è equivalente a:

    waitpid(pid, status, options);

In altre parole, wait3() aspetta qualunque figlio, mentre wait4() può essere usata per selezionare un figlio specifico, o figli, da aspettare. Vedere wait(2) per maggiori dettagli.

Se rusage non è NULL, la struct rusage al quale punta verrà riempita con informazioni di autenticazione sul figlio. Vedere getrusage(2) per i dettagli.

VALORI RESTITUITI
Come per waitpid(2).

ERRORI
Come per waitpid(2).

CONFORME A
4.3BSD

NOTE
L'inclusione di <sys/time.h> oggi non è richiesta, ma aumenta la portabilità. (In verità, <sys/resource.h> definisce la struttura rusage con i campi di tipo struct timeval definiti in <sys/time.h>.)

VEDERE ANCHE
fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)