projects
/
gapil.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
49dd18a
)
Modificate due righe.
author
Simone Piccardi
<piccardi@gnulinux.it>
Fri, 29 Jun 2001 20:53:20 +0000
(20:53 +0000)
committer
Simone Piccardi
<piccardi@gnulinux.it>
Fri, 29 Jun 2001 20:53:20 +0000
(20:53 +0000)
prochand.tex
patch
|
blob
|
history
diff --git
a/prochand.tex
b/prochand.tex
index 8d27565b18ad84670190fd907ccb59d78039529d..9a59964518678dc76eb79dd4d452b0db20664a3d 100644
(file)
--- a/
prochand.tex
+++ b/
prochand.tex
@@
-49,16
+49,13
@@
genere
Tutti i processi inoltre portano traccia del pid del genitore, chiamato in
genere \textit{ppid} (da \textit{Parente Process Id}). Questi identificativi
possono essere ottenuti da un programma usando le funzioni:
Tutti i processi inoltre portano traccia del pid del genitore, chiamato in
genere \textit{ppid} (da \textit{Parente Process Id}). Questi identificativi
possono essere ottenuti da un programma usando le funzioni:
-\begin{itemize}
- \item \texttt{pid\_t getpid(void)} restituisce il pid del processo corrente.
-
- \item \texttt{pid\_t getppid(void)} restituisce il pid del padre del processo
+\begin{functions}
+\incldecl{sys/types.h}
+\incldecl{unistd.h}
+\funcdecl{pid\_t getpid(void)} restituisce il pid del processo corrente.
+\funcdecl{pid\_t getppid(void)} restituisce il pid del padre del processo
corrente.
corrente.
-
-\end{itemize}
-(per l'accesso a queste funzioni e ai relativi tipi di dati occorre includere
-gli header files \texttt{unistd.h} e \texttt{sys/types.h}).
-
+\end{}
\section{Il controllo dei processi}
\section{Il controllo dei processi}
@@
-86,8
+83,8
@@
una informazione abbastanza limitata (il codice di uscita) sulle cause della
terminazione del processo.
Quando un processo ha concluso il suo compito o ha incontrato un errore non
terminazione del processo.
Quando un processo ha concluso il suo compito o ha incontrato un errore non
-risolvibile esso può essere terminato con la funzione \texttt{exit} (
l
a
-qu
estione è più complessa ma ci torneremo più avanti
). La vita del processo
+risolvibile esso può essere terminato con la funzione \texttt{exit} (
si ved
a
+qu
anto discusso in \secref{sec:proc_termination}
). La vita del processo
però termina solo quando viene chiamata la quando la sua conclusione viene
ricevuta dal processo padre, a quel punto tutte le risorse allocate nel
sistema ad esso associate vengono rilasciate.
però termina solo quando viene chiamata la quando la sua conclusione viene
ricevuta dal processo padre, a quel punto tutte le risorse allocate nel
sistema ad esso associate vengono rilasciate.
@@
-100,21
+97,23
@@
questo si usa la seconda funzione fondamentale per programmazione coi processi
che è la \texttt{exec}.
Il programma che un processo sta eseguendo si chiama immagine del processo
che è la \texttt{exec}.
Il programma che un processo sta eseguendo si chiama immagine del processo
-(\textit{process image}), le funzioni della famiglia \
textit
{exec} permettono
+(\textit{process image}), le funzioni della famiglia \
func
{exec} permettono
di caricare un'altro programma da disco sostituendo quest'ultimo alla process
image corrente, questo fa si che la precedente immagine venga completamente
cancellata e quando il nuovo programma esce anche il processo termina, senza
ritornare alla precedente immagine.
di caricare un'altro programma da disco sostituendo quest'ultimo alla process
image corrente, questo fa si che la precedente immagine venga completamente
cancellata e quando il nuovo programma esce anche il processo termina, senza
ritornare alla precedente immagine.
-Per questo motivo la \
texttt{fork} e la \texttt
{exec} sono funzioni molto
+Per questo motivo la \
func{fork} e la \func
{exec} sono funzioni molto
particolari con caratteristiche uniche rispetto a tutte le altre, infatti la
prima ritorna due volte (nel processo padre e nel figlio) mentre la seconda
non ritorna mai (in quanto con essa viene eseguito un altro programma).
particolari con caratteristiche uniche rispetto a tutte le altre, infatti la
prima ritorna due volte (nel processo padre e nel figlio) mentre la seconda
non ritorna mai (in quanto con essa viene eseguito un altro programma).
-\subsection{La funzione \
texttt
{fork}}
+\subsection{La funzione \
func
{fork}}
\label{sec:prochand_fork}
\label{sec:prochand_fork}
+La funzione \func{fork}
+
Dopo l'esecuzione di una fork sia il processo padre che il processo figlio
continuano ad essere eseguiti normalmente, ed il processo figlio esegue
Dopo l'esecuzione di una fork sia il processo padre che il processo figlio
continuano ad essere eseguiti normalmente, ed il processo figlio esegue