Aggiunte proprieta` ereditate via exec
authorSimone Piccardi <piccardi@gnulinux.it>
Sat, 6 Oct 2001 11:27:27 +0000 (11:27 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Sat, 6 Oct 2001 11:27:27 +0000 (11:27 +0000)
prochand.tex

index c9e4e156feda9fe814caf0bd04beb171ef61b093..1824861819ac5f2282165d50426698226e4e6f23 100644 (file)
@@ -1063,7 +1063,6 @@ che deve essere terminata da un puntatore nullo.  In entrambi i casi vale la
 convenzione che il primo argomento (\var{arg0} o \var{argv[0]}) viene usato
 per indicare il nome del file che contiene il programma che verrà eseguito.
 
 convenzione che il primo argomento (\var{arg0} o \var{argv[0]}) viene usato
 per indicare il nome del file che contiene il programma che verrà eseguito.
 
-
 \begin{table}[!htb]
   \footnotesize
   \centering
 \begin{table}[!htb]
   \footnotesize
   \centering
@@ -1099,8 +1098,38 @@ invece usano come parametro \var{file} un nome che viene cercato
 automaticamente fra i file presenti nella lista di directory specificate dalla
 variabile di ambiente \var{PATH}.
 
 automaticamente fra i file presenti nella lista di directory specificate dalla
 variabile di ambiente \var{PATH}.
 
+La terza differenza è come viene passata la lista delle variabili di ambiente.
+Con lo mnemonico \func{e} vengono indicate quelle funzioni che necessitano di
+un vettore di parametri \var{envp[]} analogo a quello usato per gli argomenti
+a riga di comando (terminato quindi da un \macro{NULL}), le altre usano il
+valore della variabile \var{environ} (vedi \secref{sec:proc_environ}) del
+processo di partenza per costruire l'ambiente.
+
+Oltre a mantenere lo stesso \acr{pid}, il nuovo programma fatto partire da
+\func{exec} assume anche una serie di altre proprietà del processo chiamante;
+la lista completa è la seguente:
+\begin{itemize}
+\item il \textit{process ID} (\acr{pid}) ed il \textit{parent process ID}
+  (\acr{ppid}).
+\item il \textit{real user ID} ed il \textit{real group ID} (vedi
+  \secref{sec:proc_user_group}).
+\item i \textit{supplementary group ID} (vedi \secref{sec:proc_user_group}).
+\item il \textit{session ID} ed il \textit{process group ID} (vedi
+  \secref{sec:sess_xxx}).
+\item il terminale di controllo (vedi \secref{sec:sess_xxx}).
+\item il tempo restante ad un allarme.
+\item la directory radice e la directory di lavoro corrente (vedi
+  \secref{sec:file_work_dir}).
+\item la maschera di creazione dei file (\var{umask}, vedi
+  \secref{sec:file_umask}) ed i \textit{lock} sui file (vedi
+  \secref{sec:file_xxx}).
+\item i segnali sospesi (\textit{pending}) e la maschera dei segnali.
+\item i limiti sulle risorse (vedi \secref{sec:limits_xxx})..
+\item i valori delle variabili \var{tms\_utime}, \var{tms\_stime},
+  \var{tms\_cutime}, \var{tms\_ustime} (vedi \secref{sec:xxx_xxx})..
+\end{itemize}
+
 
 
-La terza differenza è .