Мне нужно запустить огромный процесс, который будет длиться около 10 минут. Я превысил max_execution_time
, но в моих журналах ошибок я получаю SIGTERM, а затем SIGKILL.
Я немного прочитал о SIGTERM и SIGKILL, что они происходят от демона, но я не понял, как это предотвратить. Мне просто нужно отключить его на одну ночь.
Вместо того, чтобы пытаться игнорировать сигналы, вам нужно выяснить, кто их отправляет и почему. Если вы запускаете php из командной строки, никто не отправит этот сигнал, и у вашего скрипта будет время все время.
Но если вы на самом деле запускаете этот процесс в ответ на запрос http, вероятно, именно веб-сервер диспетчера FastCGI ограничивает время ожидания завершения сценария. Он также может просто убить скрипт, потому что клиентское соединение (между браузером пользователя и http-сервером) было разорвано.
Поэтому важный вопрос, который вы должны задать себе — каков источник этого сигнала и как можно увеличить этот тайм-аут. Пожалуйста, предоставьте все подробности о том, как вы запускаете этот скрипт и на какой платформе вы работаете.
Других решений пока нет …