Eu estava olhando /etc/init.d/ssh
para ter uma idéia de como um daemon sys "adequado" é executado na inicialização (estou tentando adicionar svnserve
a essa lista). Eu vi isso log_daemon_msg
usado como um comando, mas não tenho idéia do que é.
which log_daemon_msg
e man log_daemon_msg
veio vazio.
Exemplo:
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
Como isso funciona? Eu tentei pesquisar no Google, mas as únicas coisas que pude encontrar foram perguntas sobre onde ele grava suas mensagens, o que é inútil, já que mal sei como usá-lo ou o que é - um comando, um builtin ou algo mais?
/etc/init.d/ssh
Respostas:
Isso é funções relacionadas ao LSB . Por favor, dê uma olhada
/lib/lsb/init-functions
e / ou/etc/redhat-lsb/lsb_log_message
. O caminho depende da sua distribuição.fonte
. /lib/lsb/init-functions
item no topo do script init que estava analisando ... Parece que é melhor escreversource <...>
do que. <...>
quando você deseja que o script seja analisado facilmente.Eu não tenho BSD e nunca o usei ... mas com certeza log_daemon_message deve ser uma função shell. Olhe acima para declarações como:
. ./funções
Isso origina todas as funções no arquivo de função. A outra coisa que você pode fazer é procurar a função específica com find:
encontre / etc -type f -exec grep -li log_daemon_msg {} \;
E veja o que está nos arquivos. Como eu disse, não tenho BSD, mas a pesquisa é divertida!
Felicidades e boa sorte
fonte