Я просматривал, /etc/init.d/ssh
чтобы получить представление о том, как «правильный» системный демон запускается при загрузке (я пытаюсь добавить svnserve
в этот список). Я видел, что это log_daemon_msg
используется как команда, но я понятия не имею, что это такое.
which log_daemon_msg
и man log_daemon_msg
подошел пустой
Пример:
log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" || true
if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
log_end_msg 0 || true
else
log_end_msg 1 || true
fi
Как это работает? Я попробовал поискать в Google, но единственные вещи, которые я мог найти, были вопросы о том, где он записывает свои сообщения, что бесполезно, так как я почти не знаю, как его использовать или что это вообще такое - команда, встроенная функция или что-то еще?
/etc/init.d/ssh
Ответы:
Это функции LSB . Пожалуйста, посмотрите
/lib/lsb/init-functions
и / или/etc/redhat-lsb/lsb_log_message
. Путь зависит от вашего дистрибутива.источник
. /lib/lsb/init-functions
в верхней части сценария инициализации я анализировал ... Кажется, что лучше писатьsource <...>
вместо. <...>
если вы хотите, чтобы сценарий легко проанализировать.У меня нет BSD и я никогда не использовал его ... но наверняка log_daemon_message должен быть функцией оболочки. Посмотрите выше на такие утверждения, как:
, ./functions
Это источник всех функций в файле функций. Другая вещь, которую вы можете сделать, это найти конкретную функцию с помощью find:
find / etc -type f -exec grep -li log_daemon_msg {} \;
И посмотрите, что в файлах. Как я уже сказал, у меня нет BSD, но исследования это весело!
Ура и удачи
источник