X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=f3298c0faab606ec18a27d234db73eb9305b5f91;hp=a45c0d6a11482ef856dd2547765c57b837c18aef;hb=34f320bccbbb744f178061b94e3a7197c35edd28;hpb=6725bff66b54efcaa3c054d0424721f0adb6396f diff --git a/prochand.tex b/prochand.tex index a45c0d6..f3298c0 100644 --- a/prochand.tex +++ b/prochand.tex @@ -256,8 +256,8 @@ un processo e le varie relazioni fra processi utilizzate per definire una sessione. Oltre al \acr{pid} e al \acr{ppid}, (e a quelli che vedremo in -\secref{sec:sess_xxx}, relativi al controllo di sessione), ad ogni processo -vengono associati degli altri identificatori che vengono usati per il +\secref{sec:sess_proc_group}, relativi al controllo di sessione), ad ogni +processo vengono associati degli altri identificatori che vengono usati per il controllo di accesso. Questi servono per determinare se un processo può eseguire o meno le operazioni richieste, a seconda dei privilegi e dell'identità di chi lo ha posto in esecuzione; l'argomento è complesso e sarà @@ -607,7 +607,7 @@ comune dopo l'esecuzione di una \func{fork} \secref{sec:proc_access_id}). \item gli identificatori per il controllo di sessione: il \textit{process groupid} e il \textit{session id} ed il terminale di controllo (vedi - \secref{sec:sess_xxx} e \secref{sec:sess_xxx}). + \secref{sec:sess_proc_group}). \item la directory di lavoro e la directory radice (vedi \secref{sec:file_work_dir} e \secref{sec:file_chroot}). \item la maschera dei permessi di creazione (vedi \secref{sec:file_umask}). @@ -871,9 +871,10 @@ cercato sia ancora attivo. Per questo motivo lo standard POSIX.1 ha introdotto la funzione \func{waitpid} che effettua lo stesso servizio, ma dispone di una serie di funzionalità più -ampie, legate anche al controllo di sessione. Dato che è possibile ottenere -lo stesso comportamento di \func{wait} si consiglia di utilizzare sempre -questa funzione, il cui prototipo è: +ampie, legate anche al controllo di sessione (si veda +\ref{sec:sess_job_control}). Dato che è possibile ottenere lo stesso +comportamento di \func{wait} si consiglia di utilizzare sempre questa +funzione, il cui prototipo è: \begin{functions} \headdecl{sys/types.h} \headdecl{sys/wait.h} @@ -896,7 +897,7 @@ sempre fino a che un processo figlio non termina, mentre \func{waitpid} ha la possibilità si specificare un'opzione \macro{WNOHANG} che ne previene il blocco; inoltre \func{waitpid} può specificare quale processo attendere sulla base del valore fornito dall'argomento \param{pid}, secondo lo -specchietto riportato in \ntab: +specchietto riportato in \tabref{tab:proc_waidpid_pid}: \begin{table}[!htb] \centering \footnotesize @@ -905,7 +906,8 @@ specchietto riportato in \ntab: \textbf{Valore} & \textbf{Macro} &\textbf{Significato}\\ \hline \hline - $<-1$& -- & attende per un figlio il cui \textit{process group} è uguale al + $<-1$& -- & attende per un figlio il cui \textit{process group} (vedi + \ref{sec:sess_proc_group}) è uguale al valore assoluto di \var{pid}. \\ $-1$ & \macro{WAIT\_ANY} & attende per un figlio qualsiasi, usata in questa maniera è equivalente a \func{wait}.\\ @@ -924,11 +926,11 @@ Il comportamento di \func{waitpid} pu delle opportune opzioni tramite l'argomento \param{option}. I valori possibili sono il già citato \macro{WNOHANG}, che previene il blocco della funzione quando il processo figlio non è terminato, e \macro{WUNTRACED} (usata per il -controllo di sessione, trattato in \capref{cha:session}) che fa ritornare la -funzione anche per i processi figli che sono bloccati ed il cui stato non è -stato ancora riportato al padre. Il valore dell'opzione deve essere -specificato come maschera binaria ottenuta con l'OR delle suddette costanti -con zero. +controllo di sessione, trattato in \secref{sec:sess_job_control}) che fa +ritornare la funzione anche per i processi figli che sono bloccati ed il cui +stato non è stato ancora riportato al padre. Il valore dell'opzione deve +essere specificato come maschera binaria ottenuta con l'OR delle suddette +costanti con zero. La terminazione di un processo figlio è chiaramente un evento asincrono rispetto all'esecuzione di un programma e può avvenire in un qualunque @@ -1202,8 +1204,8 @@ la lista completa (\acr{ppid}). \item l'\textsl{userid reale}, il \textit{groupid reale} ed i \textsl{groupid supplementari} (vedi \secref{sec:proc_access_id}). -\item il \textit{session id} ed il \textit{process groupid} (vedi - \secref{sec:sess_xxx}). +\item il \textit{session id} (\acr{sid}) ed il \textit{process groupid} + (\acr{pgid}), vedi \secref{sec:sess_proc_group}. \item il terminale di controllo (vedi \secref{sec:sess_xxx}). \item il tempo restante ad un allarme (vedi \secref{sec:sig_alarm_abort}). \item la directory radice e la directory di lavoro corrente (vedi