@zzmaster

Зависает процесс php из командной строки, что сделать?

Заметил однажды такую ситуацию, что крон-задание, php скрипт, у которого стоит
set_time_limit(60)

висит больше суток и при этом не работает (он должен подбирать и обрабатывать файлы)
Есть ли какие-нибудь способы это предотвратить или как-то такой процесс автоматически уничтожить, поскольку его наличие в списке процессов не дает запускаться такому же процессу в следующую минуту (такая система избегания накладок паралельного выполнения).

Происходит это на Centos 6.
  • Вопрос задан
  • 298 просмотров
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Можно попробовать выполнить его с дебаггером (xdebug) или профайлером и посмотреть на чём он залипает.
Можно снаружи подцепиться к нему, например, strace и посмотреть какие системные вызовы он делает.
Ответ написан
@rPman
в крон задании сохраняйте pid процесса в файл (запускайте через & и сразу берите pid из переменной $!), а соответственно перед этим, убиваете процесс с pid из этого файла (если он есть).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы