Я создал cronjob, который вызывает php-скрипт каждые 5 минут.
Этот скрипт PHP должен запустить несколько других скриптов PHP CLI и сохранить их в фоновом режиме, даже когда cron-script завершается.
В настоящее время я создаю эти подпроцессы по следующей строке кода:
if (!$pid = shell_exec("nohup /var/[..]/cake.php test doSomething > /dev/null 2>&1 & echo $!")) return false;
Когда я называю «motherscript» через командную строку, все работает отлично. Но похоже, что начальная часть подпроцессов по вышеуказанной строке кода прекращается, когда cron-job останавливается.
Итак, как cake.php test doSomething
скрипт cake.php test doSomething
и сохранить дочерний процесс под предопределенным пользователем в crontab?
Это имеет смысл, вам нужно сказать, что PHP-скрипты для детей НЕ прекращаются, когда он останавливается.
ignore_user_abort(true);
Добавьте вышеприведенную строку в скрипты для детей PHP. Должен это делать