Демон запускается по запросу через http через:
shell_exec('/opt/php/7.0/bin/php -c /var/www/..../php.ini worker.php '.implode($arr, ' ').' > log.txt');
В worker.php форкаю:
$pid = pcntl_fork();
if ($pid == -1) {
//ошибка
} elseif ($pid) {
exit;
} else {
ini_set("log_errors", 1);
ini_set("error_log", __DIR__."/php-error.log");
ini_set('display_errors',1);
ini_set('error_reporting',2047);
set_time_limit(0);
ini_set('max_esclusion_time',0);
error_log( "Hello, errors!" );
//... выполнение
}
В демоне присутствует связь с mysql через pdo.
На локальном хосте скрипт отработал отлично - за 9 часов выполнил всю нужную работу и завершился,
на сервере vps процесс исчезает через 20 минут, ошибок в логах никаких.
Почему он может останавливаться?
Какие еще могут быть необходимы директивы?