GNU/Linux >> Linux Esercitazione >  >> Linux

Linux kill Command Tutorial per principianti (5 esempi)

A volte, mentre lavori su una macchina Linux, vedrai che un'applicazione o un processo della riga di comando si blocca (non risponde). Quindi in quei casi, terminarlo è l'unica via d'uscita. La riga di comando di Linux offre un'utilità che puoi utilizzare in questi scenari. Si chiama uccidi .

In questo tutorial, discuteremo le basi di kill usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi nell'articolo sono stati testati su una macchina Ubuntu 16.04.

Comando di eliminazione Linux

Il comando kill viene solitamente utilizzato per terminare un processo. Internamente invia un segnale e, a seconda di cosa vuoi fare, ci sono diversi segnali che puoi inviare usando questo strumento. Di seguito è riportata la sintassi del comando:

kill [options] <pid> [...]

Ed ecco come lo descrive la pagina man dello strumento:

The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful 
signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways:
-9, -SIGKILL or -KILL. Negative PID values may be used to choose whole process groups; see the PGID
column in ps command output.  A PID of -1 is special; it indicates all processes except the kill
process  itself and init.

I seguenti esempi in stile domande e risposte dovrebbero darti un'idea migliore di come funziona il comando kill.

Q1. Come terminare un processo usando il comando kill?

Questo è molto semplice:tutto ciò che devi fare è ottenere il pid del processo che vuoi uccidere e quindi passarlo al comando kill.

kill [pid]

Ad esempio, volevo terminare il processo "gthumb" sul mio sistema. Quindi ho usato prima il comando ps per recuperare il pid dell'applicazione, quindi l'ho passato al comando kill per terminarlo. Ecco lo screenshot che mostra tutto questo:

Q2. Come inviare un segnale personalizzato?

Come già menzionato nella sezione introduttiva, TERM è il segnale predefinito che kill invia all'applicazione/processo in questione. Tuttavia, se lo desideri, puoi inviare qualsiasi altro segnale che uccida i supporti utilizzando i -s opzione della riga di comando.

kill -s [signal] [pid]

Ad esempio, se un processo non risponde al segnale TERM (che consente al processo di eseguire la pulizia finale prima di uscire), puoi utilizzare il segnale KILL (che non consente al processo di eseguire alcuna pulizia). Di seguito è riportato il comando che devi eseguire in questo caso.

kill -s KILL [pid]

Q3. Quali segnali puoi inviare usando kill?

Ovviamente, la prossima domanda logica che ti viene in mente è come sapere quali segnali puoi inviare usando kill. Bene, per fortuna, esiste un'opzione della riga di comando -l che elenca tutti i segnali supportati.

kill -l

Di seguito è riportato l'output del comando sopra prodotto sul nostro sistema:

Q4. Quali sono gli altri modi in cui il segnale può essere inviato?

In uno degli esempi precedenti, ti abbiamo detto che se vuoi inviare il segnale KILL, puoi farlo nel modo seguente:

kill -s KILL [pid]

Tuttavia, ci sono anche un paio di altre alternative:

kill -s SIGKILL [pid]
kill -s 9 [pid]

Il numero corrispondente può essere conosciuto usando l'opzione -l che abbiamo già discusso nell'esempio precedente.

Q5. Come eliminare tutti i processi in esecuzione in una volta sola?

Nel caso in cui un utente desideri uccidere tutti i processi che può (questo dipende dal suo livello di privilegio), invece di specificare un numero elevato di ID processo, può semplicemente passare l'opzione -1 per terminare.

Ad esempio:

kill -s KILL -1

Conclusione

Il comando kill è piuttosto semplice da comprendere e utilizzare. C'è una leggera curva di apprendimento in termini di elenco di opzioni di segnale che offre, ma come abbiamo spiegato qui, c'è anche un'opzione per dare una rapida occhiata a quell'elenco. Fai pratica con qualsiasi cosa di cui abbiamo discusso e dovresti essere a posto. Per ulteriori informazioni, vai alla pagina man dello strumento.


Linux
  1. Tutorial sul comando cd di Linux per principianti (8 esempi)

  2. Tutorial comando Linux comm per principianti (5 esempi)

  3. Linux df Command Tutorial per principianti (8 esempi)

  4. Tutorial sul comando della data di Linux per principianti (8 esempi)

  5. Tutorial sul comando del nome host Linux per principianti (5 esempi)

Linux nl Command Tutorial per principianti (7 esempi)

Esercitazione sui comandi lscpu Linux per principianti (5 esempi)

Tutorial sui comandi Linux nm per principianti (10 esempi)

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)