Le attività in Linux sono chiamate processi. Ogni processo ha un ID processo univoco. In questo tutorial, ti mostreremo come terminare un processo utilizzando i comandi Linux, per migliorare le tue capacità di gestione VPS.
A cosa serve il comando di uccisione?
A volte, potresti avviare un server o un'applicazione, dimenticartene e devi spegnerlo. In tali scenari, possiamo usare il comando kill.
Di seguito sono riportati alcuni esempi in cui il comando kill può essere utile:
- Per interrompere qualsiasi processo automatizzato
- Per interrompere un processo avviato per errore
- Per interrompere un processo che consuma molta memoria
- Per forzare l'arresto di qualsiasi processo in esecuzione in Linux
- Per interrompere un processo in background
Oltre a fermare un processo, il comando kill può fornire diverse funzionalità. Ad esempio, inviare un segnale a un processo. Per impostazione predefinita, questo è considerato un segnale TERM che interromperà il processo.
Come mostrare l'ID processo in Linux
I comandi Kill ti consentono di terminare un processo utilizzando un ID processo specifico, noto anche come pid. Per mostrare un pid in Linux puoi eseguire il seguente comando:
ps
Questo elencherà tutti i processi disponibili con un pid. Se vuoi rendere il tuo elenco più specifico, aggiungi un comando grep come questo:
ps -ux | grep java
Verranno visualizzati tutti i processi Java in esecuzione nell'output.
Come mostrare tutti i segnali di comando di uccisione
Ci sono più segnali disponibili in Linux che possono essere usati per interrompere, terminare o mettere in pausa i processi. Il comando può essere utilizzato come segue:
kill -l
Questo comando visualizzerà una voce di pagina manuale dei diversi segnali di uccisione con i loro nomi e numeri corrispondenti. Sebbene siano disponibili più segnali, nella maggior parte dei casi useremmo SIGKILL (9) e SIGTERM (15).
Come terminare un processo in Linux usando il terminale
Ora siamo pronti per andare avanti e imparare tutti i diversi usi del Kill Command. Per seguire, accedi al tuo server privato virtuale utilizzando SSH.
Utilizzo del comando di uccisione con un PID
Per terminare un processo specifico con un PID usa il seguente comando:
kill 63772
Qui 63772 è il pid per un processo che vogliamo terminare. Poiché non viene specificato alcun segnale, questo sarà SIGTERM segnale. A volte, questo potrebbe non funzionare; in tal caso, potresti dover terminare un processo con forza.
In questi casi, puoi utilizzare il formato del comando come mostrato di seguito:
kill [Signal_or_Option] pid
Di seguito è riportato un comando di esempio per terminare forzatamente il processo:
kill SIGKILL 63772
Allo stesso modo, per uccidere usando l'opzione più breve puoi usare:
kill -9 63772
Sostituire 63772 con il pid pertinente per terminare il processo.
Come eliminare più processi in Linux
Con lo stesso comando, puoi uccidere più processi. La sintassi per questo comando sarebbe:
kill -9 pid1 pid2 pid3
Ecco un esempio che mostra come apparirebbe nel mondo reale:
kill -9 63772 45116 23465
Come terminare un processo in Linux usando il comando Pkill
Pkill è una versione del comando kill in cui puoi specificare il nome del processo o un modello per trovare un processo:
pkill chrome
Il comando precedente ucciderà il browser Chrome. Puoi anche specificare una corrispondenza del nome parziale nella riga di comando come:
pkill chr
Tuttavia, questo comando a volte comporta il rischio di uccidere il processo sbagliato, soprattutto quando sono presenti più processi con lo stesso nome.
Puoi controllare l'elenco utilizzando il nome completo del processo:
pidof chrome
Il comando precedente può essere utilizzato quando si conosce il nome completo del processo.
Puoi verificare la corrispondenza dei processi utilizzando un nome parziale:
pgrep -l chr
Questo comando elencherà il processo con l'ID processo corrispondente.
Come terminare un processo in Linux usando il comando Killall
La differenza fondamentale tra killall e kill è che killall può terminare il processo per nome mentre il comando kill usa il pid.
Un esempio di tale comando è:
killall chrome
Questo è simile a pkill. Tuttavia, killall esegue una corrispondenza esatta del nome, mentre pkill può eseguire una corrispondenza del modello. Questo è uno dei motivi per cui killall è più sicuro rispetto a pkill.
Un'altra differenza è il pacchetto radice a cui appartengono questi comandi. In Linux, killall appartiene al pacchetto psmisc. D'altra parte, comandi come ps, top, kill, pkill appartengono al pacchetto procps.
Un'altra differenza è che killall può essere personalizzato per terminare i processi in base ai timestamp. Nel caso in cui desideri terminare un processo in esecuzione da meno di 40 minuti, puoi utilizzare:
killall -y 40m [Process_Name>]
Allo stesso modo puoi usare le seguenti opzioni insieme al comando killall:
- s – secondi
- m – minuti
- h – ore
- d – giorni
- w -settimane
- M – mesi
- y – anni
Conclusione
Questo copre i comandi kill più importanti e utili. Per ulteriori informazioni su questa utility essenziale puoi fare riferimento al manuale di Linux. In bocca al lupo per il tuo progetto, ci vediamo al prossimo tutorial!