wait4(2) attende che i processi cambino stato, in stile BSD

Other Alias

wait3

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

Su Linux, wait3() è una funzione di libreria implementata eseguita dalla chiamata di sistema wait4().

COLOPHON

Questa pagina fa parte del rilascio 3.73 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. 3.73, 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 [email protected]