CodeGym /Corsi /Docker SELF /Gestione dei processi di sistema: ps, top, htop

Gestione dei processi di sistema: ps, top, htop

Docker SELF
Livello 2 , Lezione 4
Disponibile

Gestione dei processi di sistema: ps, top, htop

1. Comando ps — uno sguardo statico ai processi

Se Linux fosse un ristorante, il processo sarebbe lo chef in cucina. Questo è un esemplare eseguibile di un programma che esiste in memoria. Quando avvii un'applicazione o un file eseguibile dalla command line, si crea un processo che poi esegue i suoi compiti fino al completamento.

Dal punto di vista della programmazione, i processi sono gestiti dal kernel di Linux e ognuno ha un identificatore univoco — PID (Process ID).

Il comando ps (process status) è un comando base per visualizzare l'elenco dei processi. Fornisce un'istantanea statica dei processi attivi nel sistema. Con ps puoi ottenere informazioni sui processi in esecuzione: i loro ID, il proprietario, la command line, e le risorse utilizzate.

Sintassi di base

Ecco come appare un comando base:

ps

Questo ti mostrerà i processi in esecuzione nel terminale corrente.

Ma che noia! Rendiamolo più interessante:

ps aux

Qui:

  • a — mostra i processi di altri utenti.
  • u — aggiunge un formato più leggibile.
  • x — include i processi che non sono collegati a un terminale.

Esempio di output:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: l'utente che ha avviato il processo.
  • PID: identificatore del processo.
  • %CPU: percentuale di utilizzo della CPU.
  • %MEM: percentuale di utilizzo della memoria.
  • COMMAND: il comando che ha avviato il processo.

Opzioni avanzate

  1. Visualizza una struttura ad albero dei processi:

    ps -ejH
    

    Questo aiuta a capire quali processi sono "figli" di altri processi.

  2. Filtro per PID:

    ps -p 1234
    

    Dove 1234 è il tuo PID. Mostra solo il processo specificato.

  3. Mostra tutti i processi insieme alla command line completa:

    ps -ef
    

2. Comando top — monitoraggio dinamico dei processi

top è come una TV per i processi. Puoi osservare come i processi cambiano in tempo reale. Se stai avviando un server o il tuo computer ha iniziato a "rallentare", top è il tuo migliore amico. Attraverso di esso puoi vedere quali processi consumano più CPU e memoria.

Basi di utilizzo

Semplicemente digita nel terminale:

top

Esempio di output:

  • La riga superiore mostra il "carico" sul sistema.
  • La parte centrale riporta le attività (totale, attive, dormienti, zombie).
  • La parte inferiore è dedicata alla memoria.
  • Il blocco inferiore è una lista di processi, con tante informazioni utili, inclusi PID, USER, %CPU e COMMAND.

Navigazione in top

  • Premi k per terminare un processo. Inserisci il PID.
  • Premi P per ordinare i processi in base alla CPU.
  • Premi M per ordinare in base all'utilizzo della memoria.
  • Premi q per uscire.

3. Utility htop — interfaccia conveniente

Se top ti sembra troppo "grezzo", benvenuto in htop. È un'interfaccia visiva per monitorare i processi. È colorata, supporta il mouse ed è comprensibile in modo umano.

Installazione

Se htop non è installato, aggiungilo:

sudo apt-get install htop # Per distribuzioni basate su Debian
sudo yum install htop     # Per distribuzioni basate su RedHat

Esecuzione

Per avviare htop, basta digitare:

htop

Esempio di interfaccia:

Vantaggi di htop:

  • Possibilità di scorrere l'elenco dei processi.
  • Evidenziazione dei colori per CPU, memoria, swap.
  • Tasti comodi per terminare i processi (ad esempio, F9).

4. Compito pratico

Compito 1: Trova il processo più "esigente"

  • Apri top o htop.
  • Ordina i processi per CPU e scopri il suo PID.

Compito 2: Termina il processo

  • Usa kill per "uccidere" il processo:
    kill <PID>
    

Compito 3: Analisi del processo

  • Usa ps per analizzare il PID del processo:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

Trappole e raccomandazioni

  1. Non uccidere processi se non sei sicuro che non siano critici per il funzionamento del sistema. Ad esempio, il processo con PID 1 — è init, la base del sistema operativo.
  2. Lo strumento htop deve essere installato separatamente se non è presente. Se il comando non si avvia, controlla l'installazione.
  3. Fai attenzione ai privilegi. Terminare i processi avviati da un altro utente potrebbe richiedere i diritti di amministratore.

In pratica vedrai che questi strumenti rendono il lavoro con Linux incredibilmente flessibile e visivo. Ora sei il capo dei processi!

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION