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.26:
        _DEFAULT_SOURCE
            || (_XOPEN_SOURCE >= 500 &&
                ! (_POSIX_C_SOURCE >= 200112L
                   || _XOPEN_SOURCE >= 600))
    Da glibc 2.19 a 2.25:
        _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
    Glibc 2.19 e precedenti:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500

wait4():
    A partire da glibc 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.11 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.