Scroll to navigation

WAIT4(2) Manuale del programmatore di Linux 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 *wstatus, int options,
            struct rusage *rusage);
pid_t wait4(pid_t pid, int *wstatus, int options,
            struct rusage *rusage);

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

wait3():
A partire da 2.19:
_DEFAULT_SOURCE ||
(_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))
Glibc 2.19 e precedenti:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
wait4():
A partire da 2.19:
_DEFAULT_SOURCE
Glibc 2.19 e precedenti:
_BSD_SOURCE

DESCRIZIONE

Queste funzioni sono non standard; nei nuovi programmi, l'uso di waitpid(2) o di waitid(2) è da preferire.

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(wstatus, options, rusage);

è equivalente a:


waitpid(-1, wstatus, options);

Similmente la seguente chiamata wait4():


wait4(pid, wstatus, options, rusage);

è equivalente a:


waitpid(pid, wstatus, 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 autenticazionesul figlio. Vedere getrusage(2) per i dettagli.

VALORE RESTITUITO

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 la libreria C e il 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 5.10 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trovano su https://www.kernel.org/doc/man-pages/.

TRADUZIONE

La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.

9 giugno 2020 Linux