Come terminare un processo in Linux

Quando si gestisce un sistema Linux, può capitare di trovarsi in una situazione in cui un processo non risponde o deve essere interrotto manualmente. Sapere come terminare un processo in Linux è un’abilità fondamentale sia per gli amministratori di sistema che per gli sviluppatori.

Che cos’è un processo in Linux?

Un processo è un’istanza di un programma in esecuzione. Ogni processo in Linux ha un PID (Process ID) univoco, che viene utilizzato per monitorarlo o controllarlo.

È possibile terminare un processo se:

  • Sta consumando troppe risorse

  • È bloccato o congelato

  • È necessario riavviare il servizio o l’applicazione

  • Si desidera arrestare manualmente uno script o un demone in background

Passo 1: Identificare il processo

Prima di terminare qualsiasi cosa, è necessario scoprire il PID del processo. Ecco alcuni modi:

✅ Usando ps

ps aux | grep process_name

usare top o htop

  • Eseguire top e trovare il PID nella colonna più a sinistra.

  • htop (se installato) offre un’interfaccia interattiva e di facile utilizzo.

utilizzo di pidof

pidof process_name

Restituisce direttamente il PID, se il nome del processo è noto.

Fase 2: Terminare il processo

🔹 Metodo 1: uccidere (tramite PID)

Inviare un segnale di terminazione (l’impostazione predefinita è SIGTERM – segnale 15):

kill <PID>

🔹 Metodo 2: kill -9 (terminazione forzata)

Se il processo non si arresta con un normale segnale di kill, utilizzate SIGKILL (segnale 9):

kill -9 <PID>

Questo costringe il processo a fermarsi immediatamente.

🔹 Metodo 3: killall (per nome)

Per terminare tutti i processi con un nome specifico:

killall process_name

Si può anche aggiungere -9 per forzarlo:

killall -9 firefox

🔹 Metodo 4: pkill (Pattern Matching)

pkill consente di far corrispondere i nomi dei processi con modelli di tipo regex:

pkill process_name

Oppure con forza:

pkill -9 process_name

🔹 Metodo 5: xkill (per applicazioni GUI)

Se state eseguendo un desktop Linux e avete bisogno di uccidere un’applicazione grafica:

  1. Eseguire:

    xkill
  2. Fare clic sulla finestra che si desidera terminare.

Nota: xkill deve essere installato e il server X deve essere in esecuzione.

Segnali comuni

SegnaleNumeroDescrizione
SIGTERM15Arresto di grazia
SIGKILL9Arresto forzato e immediato
SIGHUP1Riaggancia / riavvia il demone
SIGINT2Interruzione (come Ctrl C)

Cose da tenere a mente

  • Provare sempre a terminare con grazia (kill) prima di utilizzare metodi forzati come kill -9.

  • Assicuratevi di ricontrollare il PID per evitare di uccidere un processo di sistema importante.

  • Per i servizi critici, è meglio usare strumenti di gestione del sistema come systemctl:

    sudo systemctl restart apache2

Se si gestiscono spesso i processi, installare htop:

sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL

Questo strumento consente di uccidere interattivamente i processi selezionandoli e premendo F9.

Imparando a padroneggiare questi strumenti, si ottiene un maggiore controllo sull’ambiente Linux e ci si assicura che i processi bloccati o anomali non compromettano le prestazioni del sistema.