logo

Come uccidere un processo in Linux?

In un sistema operativo ci sono molti programmi che si trovano nella RAM del computer. Questi programmi possono essere eseguiti dal sistema operativo stesso o da un utente, vengono chiamati tali programmi 'Processi .' Di solito, un processo ha il suo ciclo di vita e termina da solo quando viene completato o quando lo chiudiamo manualmente. Ma, a volte, un processo potrebbe bloccarsi a causa di un errore nella pianificazione del processo o a causa del consumo di molta RAM o CPU. In questi casi, dobbiamo terminare manualmente i processi per salvare la nostra macchina da blocchi imprevisti.

Linux consente a vari strumenti di interrompere un processo errante. Per terminare un processo, dobbiamo avere informazioni sul processo come PID, segnale e altro ancora .

Individuazione dei processi

Per terminare un processo, dobbiamo accedere alle informazioni sul processo. Esistono vari comandi per tenere traccia di un processo come superiore , p.s , presa, E pidof.

Il sistema Linux ci consente di terminare un processo in vari modi, ad esempio termina un processo tramite il suo nome o ID processo (PID). Quindi, utilizzeremo i comandi di cui sopra in base alle nostre necessità.

Individuazione dei processi tramite il comando 'top'

IL superiore Il comando viene utilizzato per elencare tutti i processi in esecuzione in un sistema Linux. Visualizza informazioni dettagliate come PID, nome utente, utilizzo della CPU, ora, comando eseguito e altro.

Per individuare i processi, eseguire il comando come segue:

comando arp
 top 

Il comando precedente mostrerà i processi in esecuzione. Considera l'output seguente:

Uccidi il processo Linux

Possiamo sfogliare i processi scorrendo su e giù sul terminale. Il comando top fornisce vari filtri per filtrare i processi, come nome del processo, utilizzo della CPU e altro. Per uscire dalla sezione superiore, premere il tasto 'Q' chiave, ti riporterà al terminale. Possiamo però anche utilizzare la tradizionale opzione di uscita premendo CTRL+C chiavi.

Individuazione dei processi tramite i comandi ps e grep

IL p.s Il comando è un altro modo per visualizzare le informazioni sul processo. Esistono molte opzioni utilizzate con il comando ps, ad esempio Agli, che significa:

UN : Per visualizzare i processi per tutti gli utenti

In : Per visualizzare i processi utilizzati da un particolare utente

X : Per mostrare tutti i processi. Se non specifichiamo l'opzione x, non verrà visualizzato il processo GUI.

Esegui il comando seguente per elencare tutti i processi in esecuzione:

 ps aux 

Considera l'output seguente:

Uccidi il processo Linux

L'output del comando ps è simile a superiore comando. Il nome del processo e il PID vengono forniti nelle prime due colonne, mentre il nome del processo viene fornito nella colonna all'estrema destra.

Il comando ps è più utile del comando top. Ci consente di filtrare l'output con il comando grep.

Supponiamo di voler filtrare tutto il processo con il nome utente javatpo+, eseguire il comando come segue:

 ps aux | grep javatpo+ 

Il comando precedente filtrerà tutto il processo specificato tramite il comando grep. Considera l'output seguente:

Uccidi il processo Linux

L'output precedente fornisce insieme il comando ps e la funzionalità del comando grep.

Individuazione del processo tramite il comando pidof e pgrep

IL pidof Il comando ci consente anche di localizzare il processo. Se vogliamo tracciare un processo tramite il suo nome, il comando pidof ci sarà molto utile. Visualizza i PID dei processi quando viene utilizzato con il nome del processo.

Per individuare il PID di un processo, eseguire il comando pidof come segue:

 pidof process_name 

Se abbiamo il processo in esecuzione con il nome esatto cromo , esegui il comando come segue per ottenere i suoi PID.

 pidof chrome 

considera l'output seguente:

Uccidi il processo Linux

Uccidere un processo

Ora che abbiamo tracciato i processi, possiamo terminare un processo. Esistono vari comandi che vengono utilizzati per terminare un processo come uccisione , uccisione , superiore, E pkill.

Prima di uccidere un processo, è necessario sapere quali processi possiamo uccidere. Di seguito sono riportati alcuni punti essenziali sui processi di uccisione:

  • Se sei un utente normale, puoi uccidere solo i processi che ti appartengono. Non è possibile terminare i processi eseguiti dagli altri utenti. IL superiore E ps a i comandi visualizzano gli utenti con il relativo processo.
  • Un utente root può terminare tutti i processi. Tuttavia, possiamo anche aggiungere sudo prima di qualsiasi comando per eseguirlo come root.
  • In Linux, quando un processo viene ucciso, un segnale speciale viene trasmesso ai processi. Sebbene ci siano vari tipi di segnali in Linux, ma in questo caso Linux si occupa del SIGKILL E TERMINE segnali. Per impostazione predefinita. Linux invia il SIGTERM, che termina il processo con garbo. Se vuoi terminare forzatamente un processo, usa invece SIGKILL.
  • Linux mantiene lo stato dei processi finché non viene completamente rimosso dal sistema. Pertanto, i processi secondari verranno visualizzati nell'elenco dei processi finché un processo principale non verrà eliminato.
  • Non possiamo terminare un processo se è presente 'sonno ininterrotto .' Questa situazione si verifica quando un processo esegue un'operazione di input/output. Questo stato può essere visto in 8thcolonna di superiore e ps al comando.

Uccisione di un processo tramite il comando killall

Il comando killall è la tecnica più semplice per terminare un processo se si conosce il nome esatto del processo, non è in esecuzione da nessun altro utente e non è nello stato Z o D. Nel comando kill all, non è necessario individuare il processo o il PID. Per terminare un processo, esegui il comando come segue:

 killall firefox 

Il comando precedente interromperà il processo e chiuderà il browser Firefox. Considera l'output seguente:

Uccidi il processo Linux

Se il comando termina con successo il processo, non fornirà alcun output.

Per terminare forzatamente il processo, esegui il comando killall con -SIGKILL come segue:

 killall -SIGKILL process_name 

possiamo anche usare -9 invece di -SIGKILL.

Per terminare un processo in modo interattivo, esegui il comando come segue:

 killall -i process_name 

Per terminare un processo come utente diverso, esegui il comando come segue:

 sudo killall process_name 

Possiamo anche terminare un processo per un periodo di tempo fisso utilizzando -O E -E bandiere. Per terminare un processo in esecuzione da più di 20 minuti, esegui il comando seguente: killall -o 20m process_name

Per terminare un processo in esecuzione da meno di 20 minuti, esegui il comando seguente:

 killall -y 20m process_name 

Le abbreviazioni per l'utilizzo del periodo di tempo sono le seguenti:

secondi: s

minuti: m

orari: h

giorni: d

settimane: w

mesi: M

anni: a

Uccidi un processo con il comando pkill

A volte non conosciamo il nome esatto del processo; in tal caso, il comando pkill sarà l'utilità più utile per terminare un processo. Ci consente di terminare un processo inserendo il nome corrispondente del processo. Ad esempio, vogliamo terminare tutti i processi con il nome corrispondente java, eseguiamo il comando come segue:

 pkill java 

chiuderà tutti i processi che contengono il nome Java. Allo stesso modo per terminare un processo Firefox, esegui il comando come segue:

 pkill fire 

Considera l'output seguente:

Uccidi il processo Linux

Se il comando pkill viene eseguito con successo, non verrà visualizzato alcun output.

Per terminare forzatamente un processo tramite il comando pkill, eseguilo come segue:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Uccidi un processo con il comando kill

Il comando kill è l'utilità più semplice per terminare un processo; tutto ciò di cui abbiamo bisogno è un PID di un processo. Una volta ottenuto il PID del processo, il processo è semplice. Per terminare un processo, eseguire il comando kill seguito da PID. Per individuare il PID di un processo, utilizzare il comando top o ps aux, come spiegato sopra.

Per terminare un processo con PID 5296, esegui il comando come segue:

 kill 5296 

Per terminare forzatamente un processo, utilizzare l'opzione -SIGKILL o -9:

 kill -SIGKILL 5296 

Il comando precedente terminerà il processo con PID 5296.

Uccidi un processo con il comando principale

Il comando top ci consente di individuare e terminare il processo. È un processo semplice terminare un processo utilizzando il comando top. Innanzitutto, esegui il comando top per individuare il processo e premi la 'k' tasto mentre il comando è in esecuzione. Ti immergerà nella modalità di uccisione del processo, inserisci il PID del processo che vuoi uccidere. Considera l'output seguente:

Uccidi il processo Linux

Come possiamo vedere dall'output sopra, c'è un'opzione ' PID per segnalare/uccidere ' per terminare il processo dall'elenco dei processi sopra. Digitare il PID del processo e premere ACCEDERE chiave.

Se lasciamo il PID vuoto, terminerà il processo più in alto.

Uccidi un processo tramite System Monitor

Possiamo anche terminare un processo tramite l'ambiente grafico di Linux chiamato monitor di sistema. Per terminare un processo tramite il monitor di sistema, seguire i passaggi seguenti:

Passo 1: Cerca o sfoglia il monitor di sistema, premi Invio per aprirlo.

Passo 2: Elencherà tutti i processi in esecuzione del tuo sistema Linux. Considera l'immagine qui sotto:

Uccidi il processo Linux

Passaggio 3: Sfoglia il processo e fai clic con il pulsante destro del mouse su quello che desideri terminare.

Passaggio 4: Seleziona l'opzione Uccidi. Inoltre, possiamo usare il file CTRL+K chiavi per ucciderlo.