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);

Macro per test di funzionalità per glibc (vedere feature_test_macros(7)):

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

DESCRIZIONE
Queste funzioni sono obsolete; usare waitpid(2) o waitid(2) nei nuovi programmi. 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 a cui punta 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. SUSv1 ha incluso una specificazione di wait3(); SUSv2 ha incluso wait3(), ma l'ha segnata come LEGACY; SUSv3 l'ha rimossa.

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>.)

  Differenze tra le ABI della libreria C e del kernel
Su Linux, wait3() è una funzione di libreria implementata eseguita dalla chiamata di sistema wait4().

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

COLOPHON
Questa pagina fa parte del rilascio 4.00 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su http://www.kernel.org/doc/man-pages/. La versione italiana fa parte del pacchetto man-pages-it v. 4.00, a cura di: ILDP "Italian Linux Documentation Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a ildp@pluto.it