Здравствуйте!
У меня есть PHP-скрипт, где в бесконечном цикле <?php while(true) {...} выполняются команды с консоли, прочитанные с помощью readline(). Т.е. при запуске PHP-скрипта, он создает свою консоль, где можно выполнять мои команды, например get http://google.com и при нажатии на Enter отобразится результат.
Так же помимо команд, PHP-скрипт выполняет и другие действия в своем бесконечном цикле, поэтому он должен работать всегда. А чтобы он работал всегда, я использую утилиту screen. Создаю окно командой screen -S name и запускаю в нем PHP-скрипт. При входе на сервер, чтобы подключиться опять к этом окну использую команду screen -r name.
Подскажите, пожалуйста, как такое можно реализовать:
При написании команды в Bash phpscript start запускать этот PHP-скрипт в фоне. При команде phpscript stop вырубать этот скрипт. И при написании команды phpscript меня подключало к этому PHP-скрипту (как новое окно screen), чтобы я мог отправлять ему команды.
С помощью обработки сигналов.
А что бы скрипт не прерывался при потере связи с терминалом необходимо выполнить. ignore_user_abort(true) и запускать unix-процесс в бэкграунде.
Продвижение своими сайтами как стратегия роста и независимости