Я нашел очень, очень, очень полезный новомодный сценарий для людей, которые имеют проблемы в будущем. Поместите это в/etc/init/
# /etc/init/debug.conf
start on ( starting JOB!=debug \
or started JOB!=debug \
or stopping JOB!=debug \
or stopped JOB!=debug )
script
exec 1>>/tmp/log.file
echo -n "$UPSTART_JOB/$UPSTART_INSTANCE ($0):$$:`date`:"
echo "Job $JOB/$INSTANCE $UPSTART_EVENTS. Environment was:"
env
echo
end script
Этот сценарий в основном регистрирует все задания, которые запускаются или останавливаются. Я нашел, что CentOS 6 ничего не 'испускает' о runlevels. (ни некоторые из других общих событий я попробовал. '). Смотря файл журнала, которые отлаживают задание, создает в/tmp/log.file, было очень полезно. Путем изменения запуска моего сценария от:
start on runlevel [345]
кому:
start on started sshd
все мои задания, кажется, запускают правильно. Это было болью сзади, начиная с каждого примера, который я нашел используемым бывший синтаксис..
Извините за некропостинг, но мне удалось решить эту проблему с помощью следующего:
start on stopped rc RUNLEVEL=[345]
«остановлено» не является опечаткой - кажется, что rc останавливается при входе на уровень выполнения.
Это то, что я сделал (CentOS 6, Upstart 0.6.5) для отладки respawn вопросов. В другом терминале, do
sudo initctl log-priority debug
sudo tail -F /var/log/messages