@zzmaster

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽