I PROCESSI SU LINUX

Precedente
Programma
Seguente
Bastard Operator From Hell!
ps -ax
  Forma più utilizzata del comando ps nel mondo linux, poichè mostra tutti i processi a cui è stato assegnato un ID
vmstat 5 10
  Vmstat genererà dei rapporti sull'occupazione delle risorse del sistema, ogni cinque secondi per un massimo di dieci volte
Tips & Tricks

Quando si lancia il comando top, si ha la possibilità di modificare i parametri di visualizzazione dei processi e l'ordine con cui elencarli.
A top running premere:
N - Ordina secondo PID
A - Ordina secondo età (per prima i più recenti)
P - Ordina secondo utilizzo CPU
M - Ordina secondo memeoria utilizzata

La versione GNU di ps supporta diverse opzioni compatibili con diversi dialetti Unix.
Se alle opzioni si precede il segno meno ( - ) ps accetta opzioni Unix98.
Se si precedono DUE segni meno ( -- ) ps accetta opzioni GNU.
Se non si precede nessun segno meno, ps accetta opzioni BSD.
Definizioni

Ogni comando che si lancia, ogni servizio attivo sul sistema da origine a uno o più processi.
Ogni processo ha un proprio PID (process ID) che lo identifica. Ogni processo, tranne init, è generato da un'altro processo di cui si definisce il PPID (Parent PID). Si parla quindi di processo padre (parent) e processo figlio (child).
Un processo consta di: il codice eseguibile, la posizione di esecuzione, i dati che gestisce, i file aperti, l'ambiente di esecuzione, le credenziali.
Quando lo stesso programma è eseguito più volte nel sistema, anche da parte di utenti diversi, alcune parti dello stesso possono essere condivise (shared) in memoria: il codice in esecuzione e le eventuali librerie di sistema caricate, altre parti come i dati, i file aperti, il PID.
Lo stato di un processo può essere:
R - running, il processo è in esecuzione;
S - sleeping, il processo è in attesa (input dell'utente, conclusione di altri processi ecc..)
Z - zombie, il processo è morto ed aspetta che il parent chieda un codice d'uscita.
Ad ogni processo è associata una priorità, un valore che varia fra -20 e 19, che determina quanta CPU time rispetto agli altri il sistema gli deve dedicare.
Un processo può generare una copia di se stesso (fork), cha ha PID diverso e PPID uguale al proprio PID.

Comandi di visualizzazione e analisi dei processi e delle risorse
ps [opzioni] Comando per visualizzare i processi presenti sul sistema e alcune proprietà come il PID, lo stato, la memoria occupata, il CPU time attivato ecc.
pstree Visualizza i processi del sistema con una struttura ad albero, evidenziando parent e child.
top [opzioni] Ulteriore comando per determinare i principali processi e quante risorse del sistema occupano. Utile per avere una visione in costante aggiornamento dello stato del sistema.
vmstat [intervallo] Comando per generare dei piccoli rapporti sull'occupazione delle risorse del sistema; è inoltre possibile specificare il tempo di intervallo fra i vari rapporti e il numero massimo degli stessi
WEB RESOURCES
http://www.linuxgazette.com/issue23/flower/page1.html Processes on Linux and Windows NT - Interessante lettura sulla gestione dei processi
http://monster.cs.utu.fi/linuxkurssi/processes_and_signals-kalvot/processes_and_signals.htm Linux Processes and Signals - Slide di una