\item una richiesta dell'utente di terminare o fermare il programma. In genere
si realizza attraverso un segnale mandato dalla shell in corrispondenza
della pressione di tasti del terminale come 'ctrl-c' o 'ctrl-z'.
-\item l'esecuzione di una \texttt{kill} o di una \texttt{raise} da parte del
- processo stesso o di un'altro (solo nel caso della \texttt{kill}).
+\item l'esecuzione di una \func{kill} o di una \func{raise} da parte del
+ processo stesso o di un'altro (solo nel caso della \func{kill}).
\end{itemize}
Ciascuno di questi eventi (tranne gli ultimi due che sono controllati
input, scadenze di un timer, terminazione di processi figli.
Una richiesta esplicita significa l'uso di una chiamata di sistema (come
-\texttt{kill} o \texttt{raise}) per la generazione di un segnale, cosa che
+\func{kill} o \func{raise}) per la generazione di un segnale, cosa che
viene fatta usualmente dalla shell quando l'utente invoca la sequenza di tasti
di stop o di suspend, ma può essere pure inserita all'interno di un programma.
Una volta che il segnale viene notificato (che questo avvenga subito o dopo
una attesa più o meno lunga) viene eseguita l'azione specificata per detto
-segnale. Per alcuni segnali (\texttt{SIGKILL} e \texttt{SIGSTOP}) questa azione
+segnale. Per alcuni segnali (\macro{SIGKILL} e \macro{SIGSTOP}) questa azione
è fissa e non può essere cambiata, ma per tutti gli altri il programma può
specificare una scelta fra le tre seguenti:
\end{itemize}
Il programma può specificare queste scelte usano le due routine
-\texttt{signal} e \texttt{sigaction}; se si è installato un manipolatore sarà
+\func{signal} e \func{sigaction}; se si è installato un manipolatore sarà
quest'ultimo a intercettare il segnale ed ad essere eseguito, e mentre viene
eseguito (onde evitare race conditions) il segnale viene bloccato.
Quando un segnale termina un processo, il padre può determinare la causa della
terminazione esaminando il codice di stato riportato delle funzioni
-\texttt{wait} e \texttt{waitpid} in cui è riportato anche se la causa è un
+\func{wait} e \func{waitpid} in cui è riportato anche se la causa è un
segnale e nel caso quale; questo è il modo in cui la shell determina i motivi
della terminazione di un programma e scrive un eventuale messaggio di errore.
\textit{core dump} che registra lo stato del processo prima della terminazione
e può essere esaminato da un debugger per investigare sulla causa dell'errore.
Lo stesso avviene se i suddetti segnale vengono generati artificialmente con
-una \texttt{kill}.
+una \func{kill}.
tramite una macro di preprocessore, al suddetto numero. Sono questi nomi, che
sono standardizzati e uniformi rispetto alle varie implementazioni, che si
devono usare nei programmi. Tutti i nomi e le funzioni che concernono i
-segnali sono definiti nell'header di sistema \texttt{signal.h}.
+segnali sono definiti nell'header di sistema \file{signal.h}.
Il numero totale di segnali presenti è dato dalla macro \macro{NSIG}, e dato
che i numeri dei segnali sono allocati progressivamente, essa corrisponde