Primeiro você precisa saber o que são sinais em sistemas do tipo Unix (levará apenas alguns minutos).
Sinais são interrupções de software enviadas a um programa (em execução) para indicar que ocorreu um evento importante.
Os eventos podem variar de solicitações do usuário a erros de acesso ilegal à memória. Alguns sinais, como o sinal de interrupção, indicam que um usuário pediu ao programa para fazer algo que não está no fluxo normal de controle.
Existem vários tipos de sinais que podemos usar - para obter uma lista completa de todos os sinais disponíveis / possíveis, use o comando " $ kill -l ":

Na saída acima é claramente visível, que cada sinal tem um ' número de sinal ' (por exemplo, 1, 2, 3) e um ' nome de sinal ' (por exemplo, SIGUP, SIGINT, SIGQUIT) associado a ele. Para uma pesquisa detalhada sobre o que cada Signal faz, visite este link .
Finalmente, chegando à pergunta "Por que o número 9 no comando kill -9 ":
Existem vários métodos de entrega de sinais a um programa ou script. Um dos métodos comumente usados para enviar sinal é usar o comando kill - a sintaxe básica é:
$ kill -signal pid
Onde sinal é o número ou nome do sinal, seguido pelo Id do processo (pid) para o qual o sinal será enviado.
Por exemplo - -SIGKILL (ou -9 ), o sinal mata o processo imediatamente.
$ kill -SIGKILL 1001
e
$ kill -9 1001
ambos os comandos são a mesma coisa, ou seja, acima usamos o 'nome do sinal' e, mais tarde, usamos o 'número do sinal'.
Veredicto : Há uma escolha em aberto se usar o 'nome do sinal' ou 'número do sinal' com o comando kill .