Capitolo 5. Controllo dei processi

Sommario
5.1. Ancora sui processi
5.1.1. L'albero dei processi
5.1.2. Segnali
5.2. Informazioni sui processi: i comandi ps e pstree
5.2.1. ps
5.2.2. pstree
5.3. Inviare segnali ai processi: kill, killall e top
5.3.1. kill, killall
5.3.2. top

5.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.

5.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 la radice di quest'albero è init. Ogni processo ha un numero (il suo PID, Process ID), insieme al numero del proprio processo padre (PPID, Parent Process ID). Il PID di init è 1, e così pure il suo PPID: init è il padre di se stesso.

5.1.2. Segnali

Ogni processo in un sistema UNIX può reagire ai segnali inviatigli. Vi sono 64 differenti segnali, che possono essere identificati in base al numero (a partire da 1) o al loro nome simbolico. I 32 segnali "più alti" (da 33 a 64) sono segnali in tempo reale, e non rientrano nell'ambito di questo capitolo. 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 marchio registrato di Linus Torvalds. Tutti gli altri marchi e copyright appartengono ai rispettivi proprietari.
Se non diversamente specificato, i diritti di tutto il contenuto di queste pagine e di tutte le immagini sono proprietà di MandrakeSoft S.A. e MandrakeSoft Inc. 2002.
http://www.mandrakelinux.com/