Por que a chamada de sistema UNIX kill é chamada de 'kill'?

41

Estou curioso sobre a história do nome, parece-me que a chamada de sistema 'kill' poderia ter sido chamada de 'sinal' e a chamada de sistema de 'sinal' poderia ter sido chamada de 'identificador'.

Fiquei imaginando se o uso original da chamada do sistema poderia ter sido simplesmente para matar outro processo, e seu uso talvez tenha sido ampliado para um mecanismo de envio de sinal mais geral à medida que o sistema se desenvolvia - mas isso é especulação da minha parte.

Alguém sabe?

Neil Salter
fonte

Respostas:

55

De fato, o objetivo original de um sinal era matar o processo de destino. killapareceu no Unix 3rd Edition ; na época, ele estava reservado para fazer root e o processo foi morto à força (como hoje a SIGKILL) e deixou um lixão básico.

A 4ª edição do Unix adicionou um argumento de número de sinal, bem como a signalchamada do sistema complementar para definir um manipulador de sinal. Na época, todos os sinais eliminaram o processo de destino, a menos que o processo de destino tivesse sido chamado ignore.

Com o tempo, mais e mais sinais apareceram, alguns dos quais não eliminaram o processo de destino por padrão. Mas o nome permaneceu.

O comitê POSIX debateu a renomeação kill, porque, como você observa, nem todos os sinais pretendem encerrar o processo de destino, mas esse foi o uso histórico consolidado nesse ponto; portanto, alterá-lo teria sido mais confuso do que não.

Gilles 'SO- parar de ser mau'
fonte