giovedì 2 dicembre 2010

Monitorare i processi in esecuzione con ps

ps (process snapshot) è un utile programma per monitorare i processi in esecuzione sul nostro sistema operativo GNU/Linux. Se usato, nella sua forma base, il comando non torna molte informazioni. Ecco, allora, che è necessario passare allo stesso una o più opzioni.
Per ottenere una lista di tutti i processi in esecuzione occorre passare al comando l'opzione -A (all), ps -A, oppure l'opzione -e. Con l'opzione x si ottiene una stampa dei processi in esecuzione posseduti e/o comunque eseguiti dallo stesso utente che invoca ps. Con l'opzione a viene prodotta una lista assai più lunga, contenente tutti processi di tutti gli utenti. Pertanto, combinando le opzioni fin qui viste, con ps -ax otteniamo una stampa di tutti i processi in esecuzioni. Se siamo invece interessati ai processi eseguiti da un utente (GNU/Linux è multi utente, ricordate) l'opzione da passare al comando è -U nome_utente, dove nome_utente è il nome utente da cercare nella lista dei processi. Ad esempio, con il comando ps -AU light-kun viene stampata la lista di tutti i processi posseduti dall'utente light-kun.
Le informazioni ritornate nell'output del comando sono davvero preziose. Fra queste, nelle tante colonne stampate, troviamo: USER, l'utente che ha eseguito il comando; PID, il process id assegnato al processo (utile se vogliamo chiudere un applicazione che non ci risponde da tempo); %CPU e %MEM le percentuali che indicano, rispettivamente, l'occupazione del processore e della memoria ram da parte del processo; START, l'orario di esecuzione del processo; TIME, l'ultima misura del tempo di esecuzione del processo; COMMAND, il comando che ha eseguito il processo (utile se stiamo cercando le opzioni passate a un'applicazione); STAT, indica lo stato del processo.
ps ricava le informazioni sui processi in esecuzione nella cartella di sistema /proc. All'interno di questa esiste una cartella per ogni processi il cui nome è proprio il PID del processo. Ora, però, usate ps per ricevere informazioni sui processi. E non dimenticate di filtrare l'output, se troppo lungo, con grep!

Nessun commento:

Posta un commento