X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=3ba60c60c22e22ec53dc4332903a165f0da4e22d;hp=099e98b622b2d26eeeaee6138664eec4231b0a05;hb=dfc23dbc3caad01544e73d2488f8490d9260ebae;hpb=936ae71ad2a06b154b23470ef38f477af32e67fe diff --git a/prochand.tex b/prochand.tex index 099e98b..3ba60c6 100644 --- a/prochand.tex +++ b/prochand.tex @@ -599,9 +599,8 @@ Oltre ai file aperti i processi figli ereditano dal padre una serie di altre proprietà; la lista dettagliata delle proprietà che padre e figlio hanno in comune dopo l'esecuzione di una \func{fork} è la seguente: \begin{itemize*} -\item i file aperti e gli eventuali flag di \itindex{close-on-exec} - \textit{close-on-exec} impostati (vedi sez.~\ref{sec:proc_exec} e - sez.~\ref{sec:file_fcntl_ioctl}); +\item i file aperti e gli eventuali flag di \textit{close-on-exec} impostati + (vedi sez.~\ref{sec:proc_exec} e sez.~\ref{sec:file_fcntl_ioctl}); \item gli identificatori per il controllo di accesso: l'\textsl{user-ID reale}, il \textsl{group-ID reale}, l'\textsl{user-ID effettivo}, il \textsl{group-ID effettivo} ed i \textsl{group-ID supplementari} (vedi @@ -613,7 +612,7 @@ comune dopo l'esecuzione di una \func{fork} è la seguente: (vedi sez.~\ref{sec:file_work_dir} e sez.~\ref{sec:file_chroot}); \item la maschera dei permessi di creazione dei file (vedi sez.~\ref{sec:file_perm_management}); -\item la \index{maschera~dei~segnali} maschera dei segnali bloccati (vedi +\item la maschera dei segnali bloccati (vedi sez.~\ref{sec:sig_sigmask}) e le azioni installate (vedi sez.~\ref{sec:sig_gen_beha}); \item i segmenti di memoria condivisa agganciati al processo (vedi @@ -1559,8 +1558,7 @@ seguente: % TODO ===========Importante============= % TODO questo sotto è incerto, verificare % TODO ===========Importante============= -\item la \index{maschera~dei~segnali} maschera dei segnali (si veda - sez.~\ref{sec:sig_sigmask}). +\item la maschera dei segnali (si veda sez.~\ref{sec:sig_sigmask}). \end{itemize*} Una serie di proprietà del processo originale, che non avrebbe senso mantenere @@ -1621,18 +1619,23 @@ nell'esecuzione della funzione \func{exec}, queste sono: localizzazione al valore di default POSIX. \end{itemize*} +\itindbeg{close-on-exec} + La gestione dei file aperti nel passaggio al nuovo programma lanciato con -\func{exec} dipende dal valore che ha il flag di \itindex{close-on-exec} -\textit{close-on-exec} (vedi sez.~\ref{sec:file_fcntl_ioctl}) per ciascun -\textit{file descriptor}. I file per cui è impostato vengono chiusi, tutti gli -altri file restano aperti. Questo significa che il comportamento predefinito è -che i file restano aperti attraverso una \func{exec}, a meno di una chiamata -esplicita a \func{fcntl} che imposti il suddetto flag. Per le directory, lo -standard POSIX.1 richiede che esse vengano chiuse attraverso una \func{exec}, -in genere questo è fatto dalla funzione \func{opendir} (vedi +\func{exec} dipende dal valore che ha il flag di \textit{close-on-exec} (vedi +sez.~\ref{sec:file_fcntl_ioctl}) per ciascun \textit{file descriptor}. I file +per cui è impostato vengono chiusi, tutti gli altri file restano +aperti. Questo significa che il comportamento predefinito è che i file restano +aperti attraverso una \func{exec}, a meno di una chiamata esplicita a +\func{fcntl} che imposti il suddetto flag. Per le directory, lo standard +POSIX.1 richiede che esse vengano chiuse attraverso una \func{exec}, in genere +questo è fatto dalla funzione \func{opendir} (vedi sez.~\ref{sec:file_dir_read}) che effettua da sola l'impostazione del flag di -\itindex{close-on-exec} \textit{close-on-exec} sulle directory che apre, in -maniera trasparente all'utente. +\textit{close-on-exec} sulle directory che apre, in maniera trasparente +all'utente. + +\itindend{close-on-exec} + Il comportamento della funzione in relazione agli identificatori relativi al controllo di accesso verrà trattato in dettaglio in sez.~\ref{sec:proc_perms},