использование cron для запуска php-скрипта непрерывных процессов

Я создал cronjob, который вызывает php-скрипт каждые 5 минут.

Этот PHP-скрипт должен запускать несколько других PHP-скриптов CLI и поддерживать их работу в фоновом режиме, даже когда cron-скрипт завершается.

В настоящее время я создаю эти подпроцессы с помощью следующей строки кода:

if (!$pid = shell_exec("nohup /var/[..]/cake.php test doSomething > /dev/null 2>&1 & echo $!")) return false;  

Когда я вызываю «материнский скрипт» через командную строку, все работает отлично. Но похоже, что подпроцессы, запускаемые приведенной выше строкой кода, завершаются, когда останавливается задание cron.

Итак, как создать эти cake.php test doSomethingscript и сохранить дочерний процесс под предопределенным пользователем в crontab?


person Micronax    schedule 10.12.2011    source источник


Ответы (1)


Это имеет смысл, вам нужно указать дочерним PHP-скриптам НЕ завершаться, когда родительский останавливается.

ignore_user_abort(true);

Добавьте приведенную выше строку в дочерние PHP-скрипты. Должен сделать это

person George P    schedule 10.12.2011
comment
К сожалению, это ничего не изменило - person Micronax; 10.12.2011
comment
Извините - получилось! Я поместил его не в тот файл ;) Большое спасибо! - person Micronax; 10.12.2011