GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra i comandi kill e killall?

Dai forum Linux ai meme Linux, ti imbatterai in due comandi per forzare i programmi di fine in Linux; uccidi e uccidi tutti.

Sebbene molti utenti Linux siano a conoscenza del comando kill, non molte persone conoscono e usano il comando killall.

E comunque potrebbe essere fonte di confusione per le persone. Entrambi i comandi hanno un nome dal suono simile e uno scopo simile (per terminare i processi).

Allora, qual è la differenza tra kill e killall? Quale comando dovresti usare e in quale caso dovresti usarli?

Differenza tra i comandi kill e killall

Il comando kill funziona sull'ID processo (PID) e termina i processi per i quali vengono forniti i PID. D'altra parte, il comando killall funziona sul nome del processo e uccide tutti i processi con i nomi di processo indicati. Ad esempio, se sono presenti tre istanze di mysqld in esecuzione, killall li ucciderà tutti e tre con killall mysqld mentre devi fornire i PID di tutte e tre le istanze per uccidere il comando come kill PID1 PID2 PID3 .

In parole più semplici, il comando kill funziona con il PID (spesso PID individuale) e il comando killall funziona con il nome del processo e uccide tutti i processi con il nome del processo.

Lascia che lo mostri in azione.

Avvio tre istanze di un programma chiamato evince e lo mando in background (continua a funzionare ma restituisce il controllo al terminale).

evince &
evince &
evince &

Ora, ho tre programmi in esecuzione con il nome del processo evince ma con ID processo diversi.

Per forzare l'arresto del processo con il comando kill, devi fornire i PID dei processi desiderati.

kill PID1

Tuttavia, fornisci il nome del processo al comando killall e ucciderà tutte le istanze in esecuzione con quel nome di processo.

killall evince

Dai un'occhiata allo screenshot qui sotto per vedere tutti i comandi in azione:

Come puoi notare qui, devi conoscere l'ID del processo per il comando kill e devi trovare il nome del processo per il comando killall.

Quale dovresti usare? Uccidi o uccidi tutti?

Poiché il comando kill funziona con i singoli processi, è più sicuro. Dopotutto, prima di lanciare il comando killall, dovresti assicurarti che non ci siano processi con nomi simili in esecuzione che non vuoi eliminare.

Spero che tu abbia un quadro chiaro dei comandi kill e killalll ora. Sentiti libero di lasciare una domanda o un suggerimento.


Linux
  1. La differenza tra Kill, Pkill e Killall?

  2. Qual è la differenza tra &(e commerciale) e &&(doppia e commerciale) durante l'esecuzione di comandi simultanei su Linux

  3. Qual è la differenza tra strtok_r e strtok_s in C?

  4. Qual è la differenza tra &> e >&in bash?

  5. Qual è la differenza tra kill , pkill e killall?

Qual è la differenza tra Linux e Unix?

La differenza tra più, meno e la maggior parte dei comandi

Qual è la differenza tra Cat e Touch Command

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?