![Является ли команда «kill» для управления заданиями той же самой, что и команда «kill» для отправки сигнала процессу?](https://rvso.com/image/122421/%D0%AF%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F%20%D0%BB%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%20%C2%ABkill%C2%BB%20%D0%B4%D0%BB%D1%8F%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8%20%D1%82%D0%BE%D0%B9%20%D0%B6%D0%B5%20%D1%81%D0%B0%D0%BC%D0%BE%D0%B9%2C%20%D1%87%D1%82%D0%BE%20%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%20%C2%ABkill%C2%BB%20%D0%B4%D0%BB%D1%8F%20%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8%20%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B0%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D1%83%3F.png)
В Linux вы можете сделать следующее:
kill 1
(или kill %1
)
Что означает «закрыть процессы вработа номер 1".
И вы можете сделать следующее:
kill 1234
Что означает «отправить SIGTERM
сигнал процессу с PID 1234».
Являются ли эти две kill
команды одной и той же командой или это две разные команды?
решение1
Я не уверен, что вы сможете это сделать kill 1
(точнее, вы можете попробовать, но вам не разрешат, если только вы не являетесь пользователем root, и тогда вас ждет сюрприз). 1
здесь всегда относится к процессу с идентификатором 1, который обычно равен init
(или какой-то его вариант).
Чтобы ответить на ваш вопрос, если вы находитесь в оболочке, которая поддерживает управление заданиями, kill
будет встроенная оболочка, обрабатывающая оба случая (управление заданиями и процессами). См. напримерkill
Команда Баша.
Если вы находитесь в оболочке, которая не поддерживает управление заданиями (есть ли такие?), kill
в системе обычно будет двоичный файл /bin/kill
; см. напримерutil-linux
командаkill
. Даже в оболочке со встроенной kill
командой вы можете получить к ней доступ, например, указав полный путь. Эта kill
команда также доступна без оболочки (для использования из другой программы).
Смотрите такжеОпределение POSIXkill
, который охватывает оба случая (но не уточняет, что и где реализовано).