Finito coi lupi mannari. Anzi no, erano zombie, ma tanto piu` o meno siamo
authorSimone Piccardi <piccardi@gnulinux.it>
Thu, 20 Sep 2001 12:36:18 +0000 (12:36 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Thu, 20 Sep 2001 12:36:18 +0000 (12:36 +0000)
li...

prochand.tex

index a4c126f6c7a910f712e97394f2983a73c1d166dd..2283fe4dc05586edbb3cb136d20277bcca06f8f2 100644 (file)
@@ -685,10 +685,29 @@ dei figli in stato di zombie: alla sua terminazione infatti tutti i suoi figli
 vengono ereditati (compresi gli zombie) verranno adottati da \cmd{init}, il
 quale provvederà a completarne la terminazione.
 
+Si tenga presente infine che siccome gli zombie sono processi già terminati,
+non c'è modo di eliminarli con il comando \cmd{kill}; l'unica possibilità è
+quella di terminare il processo che li ha generati, in modo che \cmd{init}
+possa adottarli e provvedere a concludere la terminazione.
+
 
 \subsection{Le funzioni \texttt{wait} e  \texttt{waitpid}}
 \label{sec:proc_wait}
 
+Come accennato la funzioni che permettono di leggere lo stato di uscita di un
+processo, e di completarne il processo di terminazione sono \func{wait} e
+\func{waitpid}, il loro prototipo è:
+\begin{functions}
+\headdecl{sys/types.h}
+\headdecl{sys/wait.h}
+\funcdecl{pid\_t wait(int * status)} 
+\funcdecl{pid\_t waitpid(pid\_t pid, int *status, int options)}
+\end{functions}
+
+
+Come abbiamo appena visto una delle azioni prese dal kernel alla terminazione
+di un processo è quella di salvarne lo stato e mandare un segnale di
+\macro{SIGCHLD} al padre (torneremo su questa parte in \secref{sec:sig_xxx}).
 
 
 \subsection{Le funzioni \texttt{exec}}