Corsi on-line

Monitorare i processi: i comandi ps e top

  • CommentiScrivi un commento
  • ForumDiscuti sul forum
  • PrevI processi: eseguire un comando in background
  • NextTerminare i processi: kill, killall e nohup

Linux offre ampia possibilità di gestione dei processi in esecuzione. Abbiamo già visto come mandare un processo in esecuzione "dietro le quinte", come stoppare un processo e come spostarlo da background a foreground. In questa lezione proseguiamo nel nostro percorso alla scoperta di come monitorare i processi nel nostro sistema opertivo attraverso l'analisi dei comandi ps e top.

Il comando ps

Al fine di monitorare i processi in esecuzione sul sistema è possibile far ricorso al comando ps.

Il comando da Shell noto come ps (process state), ci mostra lo stato dei processi in corso all'interno del sistema; in pratica, lanciando il comando ps viene visualizzata una lista dei processi correnti; vediamo un possibile output di ps:

$ ps
PID   TT TIME CMD
19480 00 0:00 ps

ps specificato senza ulteriori opzioni ci restituisce l'elenco sintetico dei processi appartenenti all'utente e controllati mediante il terminale in uso. Potremo in ogni caso utilizzare gli argomenti ax e aux per ottenere una lista più completa:

  • ax mostra i processi relativi a tutti gli utenti (-a) ed anche non controllati dl terminale (-x);
  • aux identico ad ax ma permette di visualizzare anche le user (-u) degli utenti a cui appartengono i processi in esecuzione.

Il risultato dell'istruzione può essere particolarmente lungo, in questo caso potremo utilizzare less e more per impaginare l'output prodotto:

ps aux | less

Se invece vogliamo sapere se un determinato processo è in esecuzione senza dover scorrere tutta la lista, possiamo utilizzare grep in questo modo:

ps ax | grep mysql

Si noti come si sia fatto ricorso al carattere pipe per indirizzare lo stdout di ps verso il comando grep.

Il comando top

ps produce un'immagine statica dei processi in corso, in pratica fotografa lo stato del sistema al momento in cui viene lanciata l'istruzione di monitoraggio delle esecuzioni.

Se si desidera ottenere un output più particolareggiato, dinamico e aggiornabile sarà necessario utilizzare il comando top; l'output di top consente di visualizzare tutti processi correnti e le relative informazioni rilevanti come per esempio il carico sulla CPU.

L'articolo continua dopo la pubblicità

A corredo di top abbiamo una serie di utili opzioni introducibili semplicemente premendo sulla voce corrispondente nella tastiera:

  • k: ferma un processo
  • n: mostra il numero dei processi visualizzati sulla base di una cifra specificata dall'utente
  • u: ordina l'elenco dei processi per utente
  • P: ordina l'elenco dei processi per quantità di CPU utilizzata
  • M: ordina l'elenco dei processi per quantità di memoria impiegata
  • Barra spaziatrice: aggiorna l'elenco dei processi
  • q: esce da top
Partecipa alle pre-registrazioni dei domini .cloud

Non perdere l'opportunità di aggiudicarti prima degli altri uno dei nuovi domini .cloud! Prenota i migliori domini e proteggi il tuo nome!

Corsi
  • Corso Linux
    Corso Linux
    Guida completa al sistema open-source. A partire da 39 €
  • Corso Ubuntu
    Corso Ubuntu
    Impariamo ad utilizzare il sistema operativo open-source Ubuntu Linux. A partire da 29 €
Vedi anche...
Altre Guide