Я смотрю несколько init.d
скриптов, и некоторые из них используют эту, по сути, эту команду в своей цели " stop)
":
kill $(pidof ${DAEMON_NAME})
pidof $ {DAEMON_NAME}
на самом деле является функцией сценария, которая проверяет статус код и вызовы, тем не менее, завершаются, если необходимо, Чем вышеописанное отличается от этого:
killall ${DAEMON_NAME}
Многое из init.d
скрипта было бы упрощено, если бы они были.
EDIT: Я должен добавить, что эти «процессы» не являются демонами и на самом деле не записывают свои PID в FS ...
Да, они функционально идентичны.
pidof - это функция оболочки.
Обратите внимание, что killall появился после kill и был доступен не во всех вариантах Linux / Unix.
Таким образом, kill / pidof был более общим подходом, если вам приходилось писать сценарии инициализации.