Capitolo 13. Controllo dei processi

Sommario
13.1. Ancora sui processi
13.1.1. L'albero dei processi
13.1.2. Segnali
13.2. Informazioni sui processi: i comandi ps e pstree
13.2.1. ps
13.2.2. pstree
13.3. Inviare segnali ai processi: kill, killall e top
13.3.1. Scorciatoia in X: xkill
13.3.2. kill, killall
13.3.3. top

13.1. Ancora sui processi

Nel capitolo Processi abbiamo visto che è possibile monitorare i processi: questo è l'argomento di cui ci occuperemo ora. Per comprendere meglio le operazioni che effettueremo, è opportuno introdurre qualche altra informazione su di essi.

13.1.1. L'albero dei processi

Come per i file, tutti i processi che girano in un sistema GNU/Linux sono organizzati in una struttura ad albero, e ogni processo ha un numero (il suo PID, Process ID), insieme al numero del proprio processo padre (PPID, Parent Process ID).

Questo significa che c'è un processo, alla radice dell'albero, che è l'equivalente di root per il filesystem: init (consultate il Manuale di riferimento in proposito), che ha sempre il numero 1. Il prossimo paragrafo illustrerà due comandi, ps e pstree, che vi consentono di ottenere informazioni su un processo in esecuzione.

13.1.2. Segnali

Ogni processo in un sistema Unix può reagire ai segnali inviatigli. Vi sono 31 differenti segnali. Per ciascuno di essi, il processo può definire una diversa reazione, fatta eccezione per due segnali: il segnale numero 9 (KILL), e il segnale numero 19 (STOP).

Il segnale 9 uccide un processo in modo irrevocabile, senza lasciargli il tempo di terminare l'esecuzione in maniera appropriata. Questo è il segnale che dovreste inviare a un processo bloccato, o che manifesta altri problemi. Un elenco completo dei segnali è disponibile digitando il comando kill -l.


Tux on Star from MandrakeSoft Linux è un trademark registrato di Linus Torvalds. Tutti gli altri copyright e trademark appartengono ai rispettivi proprietari.
A meno che non sia specificato diversamente, tutto il contenuto di queste pagine e tutte le immagini sono Copyright MandrakeSoft S.A. e MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/