¿Por qué la llamada al sistema UNIX kill se llama 'kill'?

41

Tengo curiosidad por la historia del nombre, me parece que la llamada al sistema 'kill' podría haberse llamado 'signal', y la llamada al sistema 'signal' podría haberse llamado 'handle'.

Me preguntaba si el uso original de la llamada al sistema podría haber sido simplemente para matar otro proceso, y su uso quizás se amplió a un mecanismo de envío de señal más general a medida que el sistema se desarrolló, pero esto es una especulación de mi parte.

¿Alguien sabe?

Neil Salter
fuente

Respuestas:

55

De hecho, el propósito original de una señal era matar el proceso objetivo. killapareció en Unix 3rd Edition ; en ese momento, estaba reservado para rootear y el proceso fue eliminado por la fuerza (como SIGKILL hoy) y dejó un volcado del núcleo.

La cuarta edición de Unix agregó un argumento de número de señal, así como la signalllamada del sistema complementario para establecer un controlador de señal. En ese momento, todas las señales mataron el proceso objetivo a menos que el proceso objetivo hubiera llamado ignore.

Con el tiempo, aparecieron más y más señales, algunas de las cuales no mataron el proceso objetivo por defecto. Pero el nombre permaneció.

El comité POSIX debatió el cambio de nombre kill, porque, como observa, no todas las señales están destinadas a terminar el proceso objetivo, pero este era un uso histórico arraigado en ese momento, por lo que cambiarlo habría sido más confuso que no.

Gilles 'SO- deja de ser malvado'
fuente