Я распараллеливаю скрипт PHP, используя Supervisor .Когда мой сценарий получает определенный ответ из базы данных, он выполняет команду, чтобы остановить все процессы, контролируемые демоном Supervisord, с помощью supervisorctl
.Вот команда:
// gracefully stop all processes in supervisor's group called processes
$cmd = 'sudo /usr/bin/supervisorctl stop processes:*';
exec( $cmd, $outputs );
Проблема в том, что эта команда, похоже, не оказывает влияния, когда запускается изнутри PHP-скрипта под контролем Supervisor.Почему?
Если я запускаю эту группу процессов, запущенных в Supervisor, а затем запускаю другой экземпляр сценария непосредственно из командной строки, он работает, и все процессы Supervisor останавливаются.
Чтопроисходит?Могут ли демонизированные PHP-скрипты не exec()
команды оболочки?