Provided by:
manpages-nl_20051127-1_all 
NAAM
wait3, wait4 - wacht voor proces beëindiging, BSD stijl
OVERZICHT
#define _USE_BSD
#include <sys/types.h>
#include <sys/resource.h>
#include <sys/wait.h>
pid_t wait3(int *status, int keuzes,
struct rusage *rusage)
pid_t wait4(pid_t pid, int *status, int keuzes,
struct rusage *rusage)
BESCHRIJVING
De wait3 functie schort het uitvoeren van het huidige proces op totdat
een kind eindigt, of totdat een signaal wordt afgeleverd welke het
beëindigen van het huidige proces, of het aanroepen van een
signaalbehandelings functie bewerkstelligd. Als een kind al beëindigd
was op het moment van aanroepen (een zogenaamd "zombie" proces), dan
keert de functie onmiddellijk terug. Alle systeem-middelen in gebruik
door het kind worden vrijgemaakt.
De wait4 functie schort uitvoering van het huidige proces op totdat een
kind opgegeven door het pid argument is geëindigd, of totdat een
signaal wordt afgeleverd welke het beëindigen van het huidige proces,
of het aanroepen van een signaalbehandeling functie bewerkstelligd.
Als een kind gevraagd met pid al beëindigd was op het moment van
aanroepen (een zogenaamd "zombie" proces), dan keert de functie
onmiddellijk terug. Alle systeem middelen in gebruik door het kind
worden vrijgemaakt.
De waarde van pid kan zijn een van:
< -1 wat betekend te wachten voor ieder kind proces waarvan het
proces groep ID gelijk is aan de absolute waarde van pid.
-1 wat betekend te wachten voor ieder kind proces; deze is gelijk
aan het aanroepen van wait3.
0 wat betekend te wachten voor ieder kind proces waarvan het
proces groep ID gelijk is aan dat van het aanroepende proces.
> 0 wat betekend te wachten vaar het kind proces waarvan het proces
ID gelijk is aan de waarde van pid.
De waarde van keuzes is een bitsgewijze OF (incl.) van nul of meer van
de volgende constanten:
WNOHANG
{niet ophangen} wat betekend terug te keren onmiddellijk als
geen kind daar is om op te wachten.
WUNTRACED
{niet gevolgd} wat betekend ook terug te keren voor kinderen die
gestopt zijn, en waarvan de status niet gemeld was.
Als status niet NULL is, dan bewaren wait3 en wait4 status informatie
op de plaats naar verwezen naar door status.
Deze status kan beoordeeld worden met de volgende macro’s (deze macro’s
nemen de "stat" buffer (een int) als argument — niet een pointer naar
de buffer!):
WIFEXITED(status)
{als beëindigd} is niet-nul als het kind normaal eindigde.
WEXITSTATUS(status)
{einde status} levert de acht minst belangrijke bits op van de
teruggave code van het kind dat eindigde, wat gezet kan zijn als
het argument voor een aanroep van exit() of als het argument
voor een return opdracht in het "main" programma. Deze macro kan
alleen beoordeeld worden als WIFEXITED {als eindigde} niet-nul
teruggaf.
WIFSIGNALED(status)
{als gesignaleerd} geeft "waar" {true} als het kind proces
eindigde omdat een signaal niet gevangen werd.
WTERMSIG(status)
{einde signaal} geeft het nummer van het signaal dat
veroorzaakte dat het kind proces eindigde. Deze macro kan alleen
afgewerkt worden als WIFSIGNALED {als gesignaleerd} niet-nul
teruggaf.
WIFSTOPPED(status)
{als gestopt} geeft "waar" {true} als het kind proces dat de
terugkeer veroorzaakte momenteel gestopt is; dit is alleen
mogelijk als de aanroep werd gedaan met WUNTRACED.
WSTOPSIG(status)
{stop signaal} geeft het nummer van het signaal dat veroorzaakte
dat het kind stopte. Deze macro kan alleen afgewerkt worden als
WIFSTOPPED {als gestopt} niet-nul teruggaf.
Als rusage niet NULL is, dan zal de struct rusage bepaald in
<sys/resource.h> gevuld worden met getalsmatige {"accounting"}
informatie. Zie getrusage(2) voor details.
TERUGGEEF WAARDE
Het proces ID van het kind dat eindigde, -1 bij een fout (in het
bijzonder, wanneer geen niet-op-gewachte kind processen van de
opgegeven soort bestaan) of nul als WNOHANG gebruikt werd en geen kind
was nog voorhanden. In het laatste twee gevallen zal errno naar
behoren worden gezet.
FOUTEN
ECHILD {kind} Geen niet-op-gewacht kind proces zoals opgegeven bestaan.
ERESTARTSYS
{herstart systeem} als WNOHANG {niet hangen} niet gezet was en
een ongeblokkeerd signaal of een SIGCHLD {signaal kind} werd
gevangen. Deze fout wordt teruggegeven door de systeem aanroep.
De bibliotheek interface heeft geen toestemming om ERESTARTSYS,
terug te geven, en zal EINTR{onderbroken} teruggeven.
VOLDOET AAN
SVr4, POSIX.1
ZIE OOK
signal(2) {signaal}, getrusage(2) {krijg gebruik}, wait(2) {wacht},
signal(7) {signaal}
VERTALING
Dit is een handleiding uit manpages-dev 1.29. Alles wat tussen
‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
handleiding. Email naar <manpages-nl@nl.linux.org>.
$Id: wait4.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $