Provided by: manpages-nl_20051127-4_all
 

NAAM

        wait, waitpid - wacht op proces beëindiging
 

OVERZICHT

        #include <sys/types.h>
        #include <sys/wait.h>
 
        pid_t wait(int *status)
        pid_t waitpid(pid_t pid, int *status, int opties);
 

BESCHRIJVING

        De  wait  systeemaanroep schort het uitvoeren van het huidige proces op
        totdat een kind {kind-proces}  eindigt  of  totdat  een  signaal  wordt
        afgeleverd  die  er  voor  zorgt  dat:  òf  het  huidige  proces  wordt
        beëindigd, òf een signaal-behandelaar wordt aangeroepen. Als  een  kind
        al eindigde (met uitvoeren) op het moment van de aanroep (een zogenaamd
        ‘zombie’ proces) dan keert de aanroep onmiddellijk terug. Alle systeem-
        middelen  in gebruik door het kind worden vrijgemaakt.  De waitpid aan‐
        roep schort de uitvoering van het huidige proces op totdat het kind dat
        bepaald  werd  met het pid argument is beëindigd, of totdat een signaal
        wordt afgeleverd  dat  ervoor  zorgt  dat:  het  huidige  proces  wordt
        beëindigd,  of een signaal behandelaar wordt aangeroepen.  Als een kind
        al eindigde (met uitvoeren) op het moment van de aanroep (een zogenaamd
        "zombie" proces) dan keert de aanroep onmiddellijk terug. Alle systeem-
        middelen in gebruik door het kind worden vrijgemaakt.
 
        De waarde van pid kan een van de volgende zijn:
 
        < -1   wat betekend dat er gewacht wordt op elk kind proces van wie  de
               proces groep ID gelijk is aan de absolute waarde van pid.
 
        -1     wat  betekend  dat  er  gewacht wordt op elk kind proces; dit is
               hetzelfde gedrag als wait vertoont.
 
        0      wat betekend dat er gewacht wordt op elk kind proces van wie het
               proces groep ID gelijk is aan dat van het aanroepende proces.
 
        > 0    wat betekend dat er gewacht wordt op elk kind van wie het proces
               ID gelijk is aan de waarde van pid.
 
        De waarde van opties is een OF (incl.) van nul of meer van de  volgende
        constanten
 
        WNOHANG
               {niet  hangen}  betekend  dat er onmiddellijk wordt teruggekeerd
               als geen kind beëindigd was.
 
        WUNTRACED
               {ongevolgd} betekend dat er ook teruggekeerd wordt voor kinderen
               die zijn gestopt, en van wie de status niet gemeld is.
 
        Als  status  niet  NULL is, dan slaan wait of waitpid status informatie
        op, op de plaats waar status naar wijst.
 
        Deze status kan beoordeeld worden met de volgende macro’s (deze macro’s
        hebben  de "stat buffer" (een geheel getal ("int")) als argument — niet
        een pointer naar de buffer!):
 
        WIFEXITED(status)
               {als beëindigd} is ongelijk-nul als het kind normaal eindigde.
 
        WEXITSTATUS(status)
               {eind staat} beoordeeld de minst belangrijke acht  bits  van  de
               terugkeer-waarde  van  het  kind  dat eindigde, die gezet zouden
               kunnen zijn met het argument van een aanroep naar exit() of  als
               het  argument  voor een return opdracht in het ‘main’ programma.
               Deze  macro  kan  alleen  afgehandeld   worden   als   WIFEXITED
               ongelijk-nul teruggaf.
 
        WIFSIGNALED(status)
               {als  sign.}  geeft  "waar"  {ala  ja/nee}  terug als het proces
               eindigde door een signaal dat niet onderschept werd.
 
        WTERMSIG(status)
               {eind sign.} geeft het nummer van het signaal dat ervoor  zorgde
               dat  het kind proces eindigde. Deze macro kan alleen afgehandeld
               worden als WIFSIGNALED ongelijk-nul teruggaf.
 
        WIFSTOPPED(status)
               {als gestopt} geeft "waar" terug 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 sign.} geeft het nummer van het signaal dat ervoor  zorgde
               dat  het  kind stopte.  Deze macro kan alleen afgehandeld worden
               als WIFSTOPPED ongelijk-nul teruggaf.
        Het proces ID van het kind dat eindigde, -1 bij een  fout  of  nul  als
        WNOHANG  gebruikt werd en geen kind voorhanden was (in welk geval errno
        naar een passende waarde wordt gezet).
 

FOUTEN

        ECHILD {kind} als het proces bepaald in pid, niet bestaat of  het  geen
               kind  is  van het aanroepende proces.  (Dit kan gebeuren voor je
               eigen kind als de actie voor SIGCHLD gezet is naar SIG_IGN.)
 
        EINVAL {ongeldig} als het opties argument ongeldig was.
 
        ERESTARTSYS
               {herstart} als WNOHANG niet gezet  is  en  een  niet-geblokkeerd
               signaal   of   een   SIGCHLD  gevangen  werd.  Deze  fout  wordt
               teruggegeven door de systeemaanroep.  De bibliotheek  interfaces
               mogen  ERESTARTSYS niet teruggeven, maar zullen EINTR {onderbro‐
               ken} geven.
 

OPMERKINGEN

        De "Single Unix Specification" beschrijft een vlag  SA_NOCLDWAIT  (niet
        aanwezig onder Linux) waardoor, als deze vlag is gezet, of de daad voor
        SIGCHLD is gezet naar SIG_IGN (wat trouwens niet toegestaan wordt  door
        POSIX), kinderen die exit aanroepen geen zombies worden, en een aanroep
        naar wait() of waitpid() zal blokkeren, totdat alle kinderen  geëindigd
        zijn, en dan zal falen met errno naar ECHILD gezet.
        SVr4, POSIX.1
 

ZIE

        signal(2) {signaal}, wait4(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: waitpid.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $