Vai al contenuto
eLearner.app
Modulo 5 · Lezione 1 di 210/11 nel corso~12 min
Lezioni del modulo (1/2)

Gestione dei processi (ps e kill)

In Linux, ogni programma in esecuzione viene chiamato processo. A ciascun processo viene assegnato un identificativo numerico univoco chiamato PID (Process ID). Sapere come monitorare e gestire questi processi è fondamentale per mantenere le prestazioni e la stabilità del sistema.


Monitorare i Processi: ps

Il comando ps (process status) mostra un'istantanea dei processi attivi sul sistema. Di default mostra solo i processi associati all'utente corrente nel terminale attivo.

Per una visualizzazione completa di tutti i processi in esecuzione nel sistema, si usa comunemente la combinazione di opzioni BSD aux:

  • a: Mostra i processi di tutti gli utenti.
  • u: Mostra l'utente proprietario e dettagli sull'uso di CPU/memoria.
  • x: Mostra anche i processi che non sono associati ad alcun terminale (es. servizi in background).
Bash
ps aux

L'output di ps aux è una tabella strutturata che riporta colonne importanti come USER, PID, %CPU, %MEM e COMMAND (il comando che ha avviato il processo).


Terminare i Processi: kill e killall

Se un processo smette di rispondere o consuma troppe risorse, possiamo terminarlo inviandogli un segnale.

Il comando kill

Il comando kill invia un segnale a un processo specificando il suo PID:

Bash
kill 2048       # Invia il segnale SIGTERM (15), richiedendo una terminazione pulita
kill -9 2048    # Invia il segnale SIGKILL (9), forzando la terminazione immediata

[!WARNING] Usa kill -9 solo come ultima risorsa, poiché non permette al programma di salvare dati o chiudere file aperti in modo pulito.

Il comando killall

Se non conosci il PID o desideri terminare tutti i processi di un programma cercandoli per nome, puoi usare killall:

Bash
killall python  # Termina tutti i processi con nome 'python'

Prova tu

Esercizio 1: Elenca tutti i processi

Esercizio#linux.m5.l1.e1
Tentativi: 0Caricamento…

Visualizza la lista di tutti i processi in esecuzione sul sistema in formato completo usando le opzioni 'aux'.

Caricamento editor…
Mostra suggerimento

Usa il comando 'ps' seguito dall'argomento 'aux'.

Soluzione disponibile dopo 3 tentativi

Esercizio 2: Termina un processo per PID

Esercizio#linux.m5.l1.e2
Tentativi: 0Caricamento…

Termina il processo python che ha il PID 2048 usando il comando 'kill'.

Caricamento editor…
Mostra suggerimento

Usa 'kill' seguito dal PID del processo (2048).

Soluzione disponibile dopo 3 tentativi

Esercizio 3: Termina tutti i processi per nome

Esercizio#linux.m5.l1.e3
Tentativi: 0Caricamento…

Termina tutti i processi attivi associati al programma 'python' usando il comando 'killall'.

Caricamento editor…
Mostra suggerimento

Usa 'killall' seguito dal nome del programma, in questo caso 'python'.

Soluzione disponibile dopo 3 tentativi