web-dev-qa-db-fra.com

Pourquoi le système Unix appelle-t-il Kill nommé 'Kill'?

Je suis curieux de l'histoire du nom, il me semble que l'appel système "tuer" aurait pu être nommé "signal", et l'appel du système "signal" aurait pu être nommé "poignée".

Je me demandais si l'utilisation initiale de l'appel du système aurait pu simplement tuer un autre processus et que son utilisation était peut-être élargie à un mécanisme d'envoi de signal plus général que le système développé - mais il s'agit de la spéculation de ma part.

Est-ce que quelqu'un sait?

43
Neil Salter

En effet, l'objectif initial d'un signal était de tuer le processus cible. kill est apparu dans NIX 3D Edition ; À l'époque, il était réservé à la racine et le processus a été tué de force (comme Sigkill aujourd'hui) et a laissé une dépotoir de base.

NIX 4ème édition Ajout d'un argument de numéro de signal, ainsi que le compagnon signal appel du système pour définir un gestionnaire de signal. À l'époque, tous les signaux ont tué le processus cible à moins que le processus cible n'ait appelé ignore.

Au fil du temps, de plus en plus de signaux sont apparus, dont certains ne tuaient pas le processus cible par défaut. Mais le nom est resté.

Le comité POSIX débattu de renommer kill, car comme vous le notez que tous les signaux ne sont pas destinés à résilier le processus cible, mais cela a été enracinée d'une utilisation historique à ce stade, alors changer cela aurait été plus déroutant que non.