Generale

Come Terminare un Processo in Linux: Interrompere Processi con i Comandi Kill e Killall

Generale·22 marzo 2026·26 min di lettura

Quando gestisci un server Linux, potresti incontrare processi non reattivi o malfunzionanti che consumano risorse di sistema, rallentano il tuo lavoro e impattano negativamente altri processi in esecuzione. Sapere come terminare un processo in Linux e essenziale per un'amministrazione efficiente del sistema.

Questo articolo ti guidera attraverso diversi metodi per terminare processi non reattivi in Linux. Che tu sia un principiante o un amministratore esperto, questi metodi ti aiuteranno a gestire i processi efficacemente in un ambiente Linux.

Cos'e il Processo kill in Linux?

Il comando kill in Linux termina un processo in esecuzione, non reattivo o malfunzionante in modo controllato e sicuro.

Come Localizzare un Processo in Linux

Prima di terminare un processo, e fondamentale identificarlo correttamente. Fortunatamente, il sistema Linux fornisce diversi strumenti a questo scopo. I comandi ps e top sono tra i piu comuni.

Il comando ps mostra un'istantanea di tutti i processi in esecuzione, permettendoti di trovare l'ID (PID) di un processo specifico. Ecco un formato base del comando ps:

```bash

ps [opzioni]

```

Le opzioni piu comuni da combinare con il comando ps sono:

- `-a`: mostra i processi per tutti gli utenti.

- `-u`: mostra i processi dell'utente corrente.

- `-x`: include i processi senza terminale.

Per rendere la lista piu specifica, aggiungi il comando grep. Ad esempio, il seguente comando mostrera tutti i processi Java in esecuzione:

```bash

ps -aux | grep java

```

D'altra parte, il comando top offre una vista dinamica di tutti i processi in esecuzione in Linux e il loro utilizzo delle risorse. Non richiede argomenti o opzioni aggiuntive per il suo uso principale.

Quando ps e top non sono sufficientemente specifici, pidof e pgrep offrono capacita di ricerca piu mirate.

Il comando pidof trova il PID di un processo tramite il suo nome. Ecco il formato base del comando:

```bash

pidof [opciones] [nombreproceso]

```

Ad esempio, `pidof nginx` trova il PID dei processi NGINX. Alcune opzioni possono essere incluse, come:

- `-c`: assicura che vengano restituiti solo i PID dalla directory root corrente.

- `-o`: omette i PID specificati dai risultati.

- `-s`: restituisce solo un PID, tipicamente il piu vecchio, tra i processi corrispondenti.

Il comando pgrep offre un meccanismo di ricerca piu flessibile per nome o altre proprieta. Usa il seguente formato:

```bash

pgrep [opciones] [patrón]

```

Ad esempio, `pgrep -u nomeutente` localizza i processi eseguiti da un utente specifico. Puoi aggiungere queste opzioni per filtrare l'output:

- `-n`: restituisce solo l'istanza piu recente tra i processi corrispondenti.

- `-o`: restituisce solo l'istanza piu vecchia tra i processi corrispondenti.

- `-u`: corrisponde ai processi dell'utente specificato.

Segnali del Comando kill

Dopo aver identificato quale processo terminare, il passo successivo e inviare un segnale appropriato usando il comando kill. Ogni tipo di segnale serve a uno scopo diverso e influenza come un processo viene terminato.

Per vedere tutti i segnali disponibili, usa il seguente comando:

```bash

kill -l

```

Questo elenca tutti i tipi di segnali dei processi Linux, inclusi:

- `SIGTERM (15)`: questa e la forma predefinita e piu sicura per terminare un processo in esecuzione in Linux. Permette al processo di terminare in modo ordinato.

- `SIGKILL (9)`: questo segnale ferma immediatamente qualsiasi processo principale o in background senza permettergli di fare pulizia.

- `SIGSTOP (19)`: mette in pausa un processo corrente senza terminarlo.

- `SIGHUP (1)`: questo segnale indica che il terminale dell'utente si e disconnesso, spesso portando alla terminazione del processo.

- `SIGINT (2)`: questo segnale interrompe un processo, tipicamente inviato dalla combinazione di tasti Ctrl+C.

Quando usi i segnali kill, puoi specificare il nome del segnale o il suo valore numerico. E fondamentale scegliere il segnale kill giusto in base allo scenario e all'impatto desiderato sul processo.

Ad esempio, il segnale SIGTERM e preferito per il controllo sicuro dei processi in Linux, permettendo ai processi di salvare il loro stato e uscire in modo pulito. SIGKILL, sebbene pratico, dovrebbe essere usato con parsimonia poiche puo portare a perdita o corruzione dei dati.

Come Terminare un Processo in Linux

Dopo aver compreso i segnali, esploriamo i metodi per terminare un processo in esecuzione in Linux. Se usi un server privato virtuale (VPS), accedi al server con un client SSH, come PuTTY.

I clienti VPS di Holy possono usare il nostro terminale del browser integrato per una terminazione efficiente dei processi. Disponibile per tutti i piani di hosting VPS, questo strumento fornisce un modo conveniente per gestire il tuo server direttamente dal browser.

Come Terminare un Processo Usando il VPS di Holy

Ecco come puoi terminare un processo tramite hPanel:

1. Accedi a hPanel e vai alla sezione VPS.

2. Seleziona il server che vuoi gestire e accedi alla scheda accesso SSH. Troverai il nome utente e la password SSH necessari per entrare nel terminale.

3. Clicca sul pulsante Terminale del Browser. Questo aprira una nuova finestra del terminale in una nuova scheda.

4. Accedi al server digitando le credenziali SSH ottenute.

5. Dopo aver effettuato l'accesso, puoi usare il comando kill per terminare i processi. Ad esempio:

```bash

kill 63772

```

Dove 63772 e il PID del processo che vuoi chiudere. Puoi anche usare altri metodi forniti nelle sezioni seguenti nel terminale del browser Holy.

Una volta finito, accedi al pulsante flottante Nascondi/Mostra barra di controllo e clicca su Disconnetti per interrompere la connessione.

Come Terminare un Processo Usando il Comando kill con un PID

Terminare un singolo processo in Linux e semplice quando conosci il suo PID. Esegui il comando `kill [PID]`, ad esempio:

```bash

kill 123

45

```

Questo inviera un segnale SIGTERM al processo con PID 12345, tentando di terminarlo in modo ordinato. E utile per terminare processi in background in Linux.

Se il processo non si termina con il SIGTERM predefinito, potrebbe essere necessario forzare la terminazione. Questo si fa aggiungendo l'opzione `-9`, che invia un segnale SIGKILL. Ad esempio:

```bash

kill -9 12345

```

Come Terminare Piu Processi

Puoi terminare piu processi contemporaneamente in Linux usando lo stesso comando kill. Passa piu PID al comando, ad esempio:

```bash

kill 12345 67890 13579

```

Questo invia simultaneamente un segnale di terminazione ai PID 12345, 67890 e 13579.

In situazioni in cui devi terminare processi con caratteristiche simili, puoi usare caratteri jolly con comandi come pgrep. Ad esempio:

```bash

kill $(pgrep patrón)

```

Questo comando terminera tutti i processi che corrispondono al pattern dato.

Come Terminare un Processo Usando il Comando pkill

Il comando pkill in Linux offre un approccio piu flessibile per terminare processi per nome o altre caratteristiche. E vantaggioso quando non conosci un PID specifico.

Per forzare la terminazione di un processo per nome in Linux, esegui `pkill [nomeprocesso]`. Ad esempio:

```bash

pkill apache

```

Questo comando terminera tutti i processi contenenti il nome apache.

Inoltre, puoi utilizzare le seguenti opzioni con pkill:

- `-u [nomeutente]`: termina i processi di proprieta di un utente specifico.

- `-t [terminale]`: termina i processi collegati a un terminale specifico.

- `-l`: fornisce un elenco dettagliato dei processi con il PID.

Usa pkill con cautela, poiche puo influenzare piu processi. Ad esempio, se hai processi chiamati apache e apache-helper, eseguire `pkill apache` terminera entrambi. Assicurati sempre di mirare al nome esatto del processo per evitare interruzioni indesiderate.

### Come Terminare un Processo Usando il Comando killall

Il comando killall e simile a pkill ma ha un metodo distinto di terminazione dei processi in Linux.

Mentre pkill e efficace per terminare processi basati su una corrispondenza parziale del nome, il comando killall richiede il nome di corrispondenza esatto del processo. Questo rende killall piu specifico e meno propenso a terminare processi non voluti.

Per usare questo comando, digita `killall [nomeprocesso]`. Ad esempio:

```bash

killall apache

```

Questo terminera tutti i processi con il nome apache. E particolarmente utile per terminare processi in background simultaneamente.

Il comando killall puo essere personalizzato con opzioni di timestamp, che includono:

- `-o [tempo]`: termina solo i processi piu vecchi del tempo specificato.

- `-y [tempo]`: termina solo i processi piu recenti del tempo specificato.

La specifica di `[tempo]` in queste opzioni e generalmente data nel formato s per secondi, m per minuti, h per ore, d per giorni, w per settimane, M per mesi e y per anni.

Ad esempio, questo comando termina tutti i processi attualmente in esecuzione con il nome chrome che sono in esecuzione da piu di 30 minuti:

```bash

killall -o 30m chrome

```

Conclusione

In questa guida, abbiamo esplorato diversi metodi per terminare un processo in Linux usando uno script shell. Abbiamo trattato diversi segnali e i comandi pkill, killall e kill. Queste tecniche sono cruciali per facilitare un arresto sicuro in Linux e prevenire l'instabilita del sistema.

Padroneggiare queste competenze e vitale per gestire i processi in background in modo sicuro e preciso, il che e fondamentale per una gestione efficace delle attivita in Linux.

Hai ancora domande?

Vieni a parlare con noi e ti risponderemo il prima possibile!

Contatta il supporto