Per prima cosa devi sapere cosa sono i segnali nei sistemi Unix-like (ci vorranno solo pochi minuti).
I segnali sono interruzioni software inviate a un programma (in esecuzione) per indicare che si è verificato un evento importante.
Gli eventi possono variare dalle richieste dell'utente agli errori di accesso alla memoria illegale. Alcuni segnali, come il segnale di interruzione, indicano che un utente ha chiesto al programma di fare qualcosa che non rientra nel normale flusso di controllo.
Ci sono diversi tipi di segnali che possiamo usare - per ottenere un elenco completo di tutti i segnali disponibili / possibili usa il comando " $ kill -l ":
Nell'uscita sopra è chiaramente visibile che ogni Segnale ha un " numero di segnale " (es. 1, 2, 3) e un " nome del segnale " (es. SIGUP, SIGINT, SIGQUIT) ad esso associati. Per una ricerca dettagliata di ciò che fa ogni singolo segnale, visita questo link .
Infine, arrivando alla domanda "Perché il numero 9 nel comando kill -9 ":
Esistono diversi metodi per inviare segnali a un programma o uno script. Uno dei metodi comunemente usati per inviare il segnale è usare il comando kill - la sintassi di base è:
$ kill -signal pid
Dove segnale è il numero o il nome del segnale, seguito dall'ID di processo (pid) a cui verrà inviato il segnale.
Ad esempio - -SIGKILL (o -9 ), il segnale interrompe immediatamente il processo.
$ kill -SIGKILL 1001
e
$ kill -9 1001
entrambi i comandi sono la stessa cosa, cioè sopra abbiamo usato il 'nome del segnale', e successivamente abbiamo usato 'numero del segnale'.
Verdetto : è possibile scegliere se utilizzare il "nome del segnale" o il "numero del segnale" con il comando kill .