Come uccidere un processo su Linux

Come uccidere un processo su Linux
Probabilmente ci saranno momenti in cui si incontrano problemi con applicazioni e processi che non rispondono. A volte chiudere e persino riavviarli non funziona. In tali casi, l'unica opzione che viene in mente è riavviare il sistema che sta prendendo il processo e talvolta non accettabile in caso di server che eseguono una serie di servizi critici.Esistono altri modi utili per aggirare questo problema interrompendo il processo senza bisogno di riavviare il sistema. Questo articolo spiegherà tali modi che possono essere utilizzati per uccidere un processo in un sistema operativo Linux.

Nota: abbiamo spiegato la procedura menzionata in questo articolo su Ubuntu 20.04 LTS. Più o meno gli stessi comandi e procedure possono essere seguiti nelle versioni precedenti di Ubuntu,

Utilizzando il monitor del sistema

Il monitor del sistema GNOME è un'utilità GUI integrata che può essere utilizzata per uccidere un processo in Linux OS. Permette di interrompere un processo e quindi riprenderlo con l'opzione Continua. L'opzione finale consente di terminare un processo in modo sicuro mentre l'opzione Kill termina con forza il programma.

Se il monitor del sistema non è installato nel sistema, è possibile installarlo come segue:

$ sudo apt-get installa gnome-system-monitor

Per avviare System Monitor, premi la chiave super e cercalo utilizzando la barra di ricerca nella parte superiore. Quando il risultato della ricerca viene visualizzato come segue, premi Invio per aprirlo.

Nella finestra del monitor del sistema, vedrai un elenco di processi in esecuzione nel sistema. Per uccidere un processo, fai clic con il pulsante destro del mouse e seleziona Uccisione opzione. Ucciderà istantaneamente il processo selezionato.

Uccidi il processo utilizzando le scorciatoie da tastiera nel terminale

La riga di comando Linux include una serie di scorciatoie da tastiera utili. Tra questi, seguendo le scorciatoie possono essere utilizzate per uccidere un processo di esecuzione.

Ctrl+c: Invia Sigint che termina il processo di esecuzione

Ctrl+z: Invia SIGSTP che sospende una domanda e la invia in background. Tuttavia, non termina il processo. Per visualizzare il processo arrestato, è possibile utilizzare il comando di Jobs. Usa il comando FG per portare il processo in primo piano.

Ctrl+\: Invia sigquit che termina il processo. Crea anche un file di dump principale che può essere utilizzato per eseguire il debug del processo.

Uccidi il processo usando l'utilità Xkill

Xkill consente di uccidere un programma in esecuzione usando il cursore del mouse. È un'utilità basata sulla GUI che è preinstallata nella maggior parte dei sistemi. Se non già installato, è possibile installarlo come segue:

$ sudo apt install xorg-xkill

Per chiudere qualsiasi programma, digita semplicemente questo nel terminale della riga di comando:

$ xkill

L'esecuzione del comando sopra trasformerà il cursore del mouse in X forma. Ora posiziona il cursore sul programma che si desidera chiudere e fare clic con il pulsante sinistro del mouse.

Imposta scorciatoia per xkill

È possibile impostare un collegamento per Xkill che ti consentirà di uccidere immediatamente un'applicazione senza la necessità di aprire il terminale ed eseguire il comando.

Per creare un collegamento per Xkill, apri il Impostazioni Utilità utilizzando il menu del tasto destro dal desktop. Quindi apri il Tasti rapidi scheda e fare clic su + icona in fondo.

Quindi nella finestra di dialogo seguente, nominare il collegamento e digitare Xkill Nel campo del comando e fare clic su Imposta scorciatoia pulsante.

Quindi imposta un collegamento personalizzato a scelta e fai clic su Aggiungere pulsante.

Ora, ogni volta che devi uccidere un'applicazione, premi semplicemente i tasti di scelta rapida e sarai in grado di uccidere qualsiasi applicazione aperta nel tuo sistema.

Il processo di uccisione usando i comandi di uccisione

Ci sono anche alcuni modi di comando usati per uccidere i processi in Linux che includono Kill, Pkill e Killall.

Per trovare quali processi sono attualmente in esecuzione nel tuo sistema, è possibile utilizzare il comando PS con -A flag:

$ ps -a

Elencherà tutti i processi attualmente in esecuzione nel tuo sistema.

Uccisione

Il comando Kill può essere usato per uccidere un processo in esecuzione in Linux. Il comando Kill viene fornito con un PID di un processo da uccidere.

Per trovare l'ID processo di un processo in esecuzione, è possibile utilizzare PS -A comando. In alternativa, è possibile eliminare l'output di PS con il comando GREP per trovare l'ID processo di un processo specifico:

$ PS -A | grep

Per esempio:

Per trovare l'ID processo del programma Arunning Firefox, è possibile utilizzare:

$ PS -A | Grep Firefox

Una volta trovato il PID di un processo specifico, puoi ucciderlo come segue:

$ kill pid

Il comando Kill invia un segnale SIGTERM al PID specificato che chiede al processo di terminare dopo aver eseguito l'operazione di pulizia necessaria.

In alcuni scenari, l'esecuzione del comando Kill non termina il processo. In questo caso, dovrai digitare "uccisione -9 " seguito dal PID:

$ kill -9 pid

Usando il -9 L'opzione con il comando Kill invia un segnale Sigkill che chiede al processo di terminare immediatamente senza alcuna operazione di pulizia.

Pkill

Simile al comando Kill, Pkill invia anche un segnale Sigterm che consente di terminare un processo non rispondente. Tuttavia, la cosa buona di Pkill è che non è necessario fornire il PID di un processo per ucciderlo. Invece, puoi semplicemente fornire la parola chiave corrispondente correlata al processo.

$ pkill

Ad esempio, per uccidere il programma Firefox, puoi semplicemente digitare:

$ PKILL Firef

Ucciderà tutti i processi i cui nomi corrispondono al mnented .

Con Pkill, hai anche un'opzione per uccidere il processo in esecuzione da un utente specifico:

$ pkill -u < keyword>

Fai attenzione quando si utilizza questa opzione come se non specifichi, tutti i processi con il nome utente specificato verranno uccisi.

Uccidi tutti

Il comando killall è simile a pkill, tranne per il nome del processo completo come argomento anziché qualsiasi parola chiave corrispondente.

Al fine di utilizzare Killall per interrompere tutti i processi e i loro processi figlio con un nome specifico, utilizzare la seguente sintassi:

$ killall

Per esempio:

$ killall Firefox

Questo è tutto ciò che c'è! In questo articolo, hai imparato vari modi per uccidere un processo in Linux. Usa questi comandi con cura mentre uccidere un processo fa finire immediatamente con conseguente perdita di dati. Anche uccidere il processo sbagliato potrebbe finire per disturbare il sistema.