Как уже упоминали другие, запустить PHP как демон довольно легко, и это можно сделать с помощью одной строки команды. Но настоящая проблема заключается в том, чтобы поддерживать его в рабочем состоянии и управлять им. У меня была такая же проблема довольно давно, и хотя уже есть множество доступных решений, большинство из них имеют много зависимостей или сложны в использовании и не подходят для базового использования. Я написал сценарий оболочки, который может управлять любым процессом / приложением, включая сценарии PHP. Он может быть установлен как cronjob для запуска приложения и будет содержать приложение и управлять им. Если он выполняется снова, например, через тот же cronjob, он проверяет, запущено ли приложение или нет, если он это делает, то просто завершает работу и позволяет своему предыдущему экземпляру продолжать управлять приложением.
Я загрузил его на github, не стесняйтесь использовать: https://github.com/sinasalek/EasyDeamonizer
EasyDeamonizer
Просто следит за вашим приложением (запуск, перезапуск, регистрация, мониторинг и т. Д.). универсальный скрипт для проверки правильности работы приложения. Преднамеренно он использует имя процесса instread файла pid / lock, чтобы предотвратить все его побочные эффекты и сделать скрипт как можно более простым и максимально быстрым, поэтому он всегда работает, даже когда перезапускается сам EasyDaemonizer.
Особенности
- Запускает приложение и дополнительно настраиваемую задержку для каждого запуска
- Обеспечивает работу только одного экземпляра
- Отслеживает использование ЦП и автоматически перезапускает приложение, когда оно достигает определенного порога
- Настройка EasyDeamonizer на запуск через cron, чтобы он снова запускался, если по какой-либо причине он был остановлен
- Журналы своей деятельности