Questi due comandi visualizzano una lista dei processi presenti sul sistema, in modo coerente ai criteri dai voi stabiliti.
Digitando questo comando senza alcun argomento, verranno mostrati solo i processi avviati da voi e collegati al terminale che voi state utilizzando:
$ ps PID TTY TIME CMD 5162 ttya1 00:00:00 zsh 7452 ttya1 00:00:00 ps |
Vi è un gran numero di opzioni, ve ne segnaliamo alcune tra le più comuni:
a: visualizza anche i processi avviati da altri utenti;
x: visualizza anche i processi che non hanno un terminale di controllo (questo è vero per quasi tutti i server);
u: visualizza per ciascun processo il nome dell'utente che lo ha avviato e l'ora in cui è partito.
Vi sono molte altre opzioni. Fate riferimento alla pagina di manuale relativa per ulteriori informazioni (man 1 ps).
L'output di questo comando è suddiviso in due diversi campi: quello che vi interesserà di più è il campo PID, che contiene il numero identificativo del processo. Il campo CMD contiene il nome del comando eseguito.
Un modo molto comune di lanciare ps è il seguente:
$ ps ax | less |
Questo vi dà una lista di tutti i processi attualmente in esecuzione, in maniera tale da permettervi di identificare uno o più processi che stanno causando problemi e quindi di terminarli.
Il comando pstree visualizza i processi sotto forma di struttura ad albero. Uno dei vantaggi è che potete immediatamente vedere qual è il processo padre di un altro processo: quando volete terminare un'intera serie di processi e tutti questi sono padre o figlio l'uno dell'altro, dovete semplicemente terminare il processo padre. Potete utilizzare l'opzione -p, che visualizza il PID di ciascun processo, e l'opzione -u che visualizza il nome dell'utente che ha avviato il processo. Poiché la struttura ad albero è generalmente lunga, può essere utile eseguire pstree in questo modo:
$ pstree -up | less |
Questo vi fornisce una visione schematica dell'intero albero dei processi.