Почему системный вызов UNIX убивает имя 'kill'?

Мне интересно узнать историю названия, мне кажется, что системный вызов «kill» можно было бы назвать «сигналом», а системный вызов «signal» мог бы быть назван «дескриптор».

Мне было интересно, может ли первоначальное использование системного вызова было просто убить другой процесс, и его использование, возможно, было расширено до более общего механизма отправки сигналов по мере разработки системы, но это спекуляция с моей стороны.

Кто-нибудь знает?

One Solution collect form web for “Почему системный вызов UNIX убивает имя 'kill'?”

Действительно, первоначальная цель сигнала заключалась в том, чтобы убить целевой процесс. kill появился в Unix 3rd Edition ; в то время он был зарезервирован для root, и процесс был насильственно убит (например, SIGKILL сегодня) и оставил основной дамп.

Unix 4th edition добавила аргумент номера сигнала, а также вызов системы сопутствующих signal для установки обработчика сигналов. В то время все сигналы убивали целевой процесс, если целевой процесс не вызвал ignore .

Со временем появилось все больше и больше сигналов, некоторые из которых по умолчанию не убили целевой процесс. Но имя осталось.

Комитет POSIX решил переименовать kill , потому что, поскольку вы отмечаете, что не все сигналы предназначены для прекращения целевого процесса, но это было укоренившееся историческое использование к этому моменту, поэтому его изменение было бы более запутанным, чем нет.

  • почему имя пользователя не имеет UID?
  • kill -STOP отключается
  • Разница между «убить | pgrep dnsspoof "и" kill `pgrep dnsspoof"
  • Как закрыть все процессы без перезагрузки машины?
  • Как pkill по имени команды?
  • Сделать процесс unkillable в Linux
  • Как сделать сценарий инициализации «ОК», только когда все подпроцессы остановлены?
  • Убейте процесс, который перезапускает
  • как убить процессы dovecot
  • Убивать дочерние родительские процессы в одной команде
  • Может ли скрипт работать даже после его смерти?
  • Linux и Unix - лучшая ОС в мире.