У меня есть несколько PHP-скриптов, которые я успешно выполнял на Ubuntu (AWS EC2) в качестве служб daemon для Upstart. В настоящее время в процессе миграции отдельного EC2 к рабочему приложению ElasticbeanStalk. Как правило, это сработало хорошо, и у меня есть деамоны и некоторые задания для работы с CRON с использованием расширений Elasticbeanstalk. Проблема, с которой я сталкиваюсь, - это демоны. Я знаю, что PHP в порядке, поскольку я могу работать из командной строки (плюс хорошо работает на Ubuntu). Точно так же я уверен, что мой файл Upstart.conf (ниже) отлично подходит для Ubuntu и отлично работает там. Он также запускается, как ожидалось, но постоянно терпит неудачу с бесполезной ошибкой "завершен со статусом 1". Статус 1 - это все, что я понимаю.
Извлечение из /var/log/messages
Dec 31 11:33:47 ip-172-31-0-74 init: init-pulses main process (8809) terminated with status 1
Dec 31 11:33:47 ip-172-31-0-74 init: init-pulses main process ended, respawning
INIT-pulses.conf
start on filesystem and started elastic-network-interfaces
stop on shutdown
respawn
respawn limit unlimited
script
sudo -u root php /var/www/html/index.php scripts init_pulses
end script
PHP-скрипт содержит цикл, но он никогда не попадает на PHP. Есть кое-что с тем, как я выполняю команду, хотя, как я сказал, это абсолютно здорово на Ubuntu. Я пробовал разные формы одного и того же с той же проблемой. Может ли кто-нибудь предложить какие-либо предложения о том, как построить блок сценариев, чтобы он действительно упустил команду или какие-либо идеи по ее отладке?
Любая помощь, как всегда, очень ценится
Исправлено это путем полного удаления блока скрипта и использования команды exec без sudo.
start on filesystem and started elastic-network-interfaces
stop on shutdown
respawn
respawn limit unlimited
exec php /var/www/html/index.php scripts init-pulses
Просто когда знаешь как