Piccole modifiche
[gapil.git] / prochand.tex
index 22da5c0194b660c71df60ba5a39403221ef5c9c3..90da68176a6c4159f16cd0eb25900d6530d0008f 100644 (file)
@@ -272,11 +272,13 @@ sempre un solo padre (il cui \acr{pid} pu
 \func{getppid}, vista in \secref{sec:proc_pid}) e si usa il valore nullo, che
 non può essere il \acr{pid} di nessun processo.
 
-In \curfig\ si è riportato il corpo del codice dell'esempio \cmd{forktest},
-che ci permette di illustrare l'uso della funzione \func{fork}, creando un
-numero di figli specificato a linea di comando; il codice completo, compresa
-la parte che gestisce le opzioni a riga di comando, è disponibile nel file
-\file{ForkTest.c}.
+In \curfig\ si è riportato il corpo del codice del programma di esempio
+\cmd{forktest}, che ci permette di illustrare l'uso della funzione
+\func{fork}. Il programma permette di creare un numero di figli specificato a
+linea di comando, e prende anche due opzioni \cmd{-p} e \cmd{-c} per indicare
+dei tempi di attesa (in seconda) per il padre ed il figlio; il codice
+completo, compresa la parte che gestisce le opzioni a riga di comando, è
+disponibile nel file \file{ForkTest.c}.
 
 Decifrato il numero di figli da creare, il ciclo principale del programma
 (\texttt{\small 28--40}) esegue in successione la creazione dei processi figli
@@ -287,24 +289,21 @@ di uscire. Il processo padre invece (\texttt{\small 29--31}) stampa un
 messaggio di creazione e procede nell'esecuzione del ciclo. Se eseguiamo il
 comando otterremo come output sul terminale:
 \begin{verbatim}
-[piccardi@selidor sources]$ ./forktest 5
-Test for forking 5 child
-Spawned 1 child, pid 840 
+[piccardi@selidor sources]$ ./forktest 3
+Test for forking 3 child
+Spawned 1 child, pid 2038 
 Child 1 successfully executing
+Child 1 exiting
+Go to next child 
+Spawned 2 child, pid 2039 
 Child 2 successfully executing
-Spawned 2 child, pid 841 
-Spawned 3 child, pid 842 
+Child 2 exiting
+Go to next child 
 Child 3 successfully executing
-Spawned 4 child, pid 843 
-Child 4 successfully executing
-Child 5 successfully executing
-Spawned 5 child, pid 844 
-[piccardi@selidor sources]$ Child 2 exiting
-Child 1 exiting
-Child 4 exiting
 Child 3 exiting
-Child 5 exiting
-\end{verbatim}
+Spawned 3 child, pid 2040 
+Go to next child 
+\end{verbatim} %$
 
 Come si vede non si può dire quale processo fra il padre ed il figlio venga
 eseguito per primo\footnote{anche se nel kernel 2.4.x era stato introdotto un
@@ -334,6 +333,8 @@ variabili nei processi figli (come l'incremento di \var{i} in \texttt{\small
   33}) saranno effettive solo per essi, e non hanno alcun effetto sul valore
 che le stesse variabili hanno nel processo padre.
 
+L'esempio mostra anche 
+
 
 \subsection{Le funzioni \texttt{wait} e  \texttt{waitpid}}
 \label{sec:proc_wait}