wait4(2)

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

LIBRARY
Standard C library (libc, -lc)

SINTASSI
#include <sys/wait.h>

pid_t wait3(int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);
pid_t wait4(pid_t pid, int *_Nullable wstatus, int options,
            struct rusage *_Nullable rusage);

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

wait3():
    Since glibc 2.26:
        _DEFAULT_SOURCE
            || (_XOPEN_SOURCE >= 500 &&
                ! (_POSIX_C_SOURCE >= 200112L
                   || _XOPEN_SOURCE >= 600))
    From glibc 2.19 to glibc 2.25:
        _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
    glibc 2.19 and earlier:
        _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).

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

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.