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

41

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

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

Alguém sabe?

    
por Neil Salter 15.02.2015 / 23:23

1 resposta

54

De fato, o propósito original de um sinal era matar o processo alvo. kill apareceu em Unix 3rd Edition ; na época, era reservado para root e o processo foi morto à força (como o SIGKILL hoje) e deixou um dump principal.

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

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

O comitê POSIX debateu a renomeação de kill , porque, como você observou, nem todos sinais destinam-se a terminar o processo de destino, mas isso foi entrincheirado histórico uso por esse ponto, então mudá-lo teria sido mais confuso do que não.

    
por 15.02.2015 / 23:51

Tags