Это означает "систему опроса". Это проверяет ячейку памяти в ожидании некоторых данных, которые могли бы быть там. Когда это не находит его, это спит и попробовало еще раз позже.
Я не могу больше говорить, чем, что от того, что Вы включали.
Это полностью не тестируется, но это слишком сложно для вписываний в комментарий, так надо надеяться, это работает.
Вы смогли добавлять a post-stop
строка файла конфигурации, которая сделает то, что Вы хотите. Что-то, такое как:
post-stop script
[ "$RESULT" == "failed" ] && sleep 1
end script
(существует также a $EXIT_STATUS
можно использовать),
Поскольку документация видит новомодную постостановку разделов поваренной книги и переменные среды.
Поваренная книга даже имеет раздел по "переикре задержки задания", но я думаю, что документация может быть неправильной. Это говорит, что только задержится с ненулевым кодом выхода, но нет ничего проверяющего код выхода в их пример, таким образом, это работало бы безусловно, который не является тем, что Вы хотите.
Вам нужно будет добавить строку:
post-stop exec sleep 1
Это, к сожалению, приводит к тому, что остановка всегда выполняется на секунду дольше, но это единственное решение (переменная RESULT предназначена только для события, а не для секций exec; она не будет доступна, как показывает Патрик).
Редактировать: ох ох, я кое-что понял. Вы можете создать новое задание, скажем, testing-wait-respawn, со следующим содержимым, чтобы получать его только в случае сбоя задания:
start on stopping testing RESULT=failed
task
exec sleep 1
Вы можете использовать следующий пост-стоп скрипт для сна только перед respawn работы (без сна, когда просто "стоп" или "перезагрузка"):
post-stop script
# Change value of STIME to your number of seconds:
STIME=15
initctl status $UPSTART_JOB |grep 'start/post-stop' >/dev/null && ( echo -n `date`; echo ": Going to sleep of $STIME seconds before respawn..."; sleep $STIME ) || true
end script
Это работает правильно для меня.
Хорошая документация по upstart на ubuntu.com: задержка выполнения задания
respawn
exec mydaemon
post-stop exec sleep 1