Автор Тема: Запуск shell-скрипта из PHP-скрипта  (Прочитано 2419 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн korsak

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Запуск shell-скрипта из PHP-скрипта
« : 19 Октября 2006, 15:40:49 »
Коллеги, прошу помощи.

Ситуация такова.

У меня на сервере (под Free BSD) из php-скрипта запускается (через passthru)
shell-скрипт, который, выполнив некоторые дейстия (установка нужных переменных окружения), запускает затем на исполнение скомпилированный файл (большое внешнее приложение стороннего разработчика, написанное на С). Так вот, по ряду внешних причин это внешнее приложение время от времени подвисает (оно коннектится с другим сервером и обрабатывает полученные данные, вот тут-то порой бывают траблы) и это приводит к тому, что после 10-го или 20-го за день запуска
скрипт вообще перестаёт работать - ничего не делает, passthru в качестве
возвращает -1 (а в норме ноль).

И такое состояние сервера длится несколько часов (при этом веб-сервер работает нормально, выдаёт странички посетителям сатйа и т.п) - то есть невозможно выполнить что бы то ни было с использованием шелла - не только этот php-скрипт, а любые другие, содержащие passthru, system, exec.

Насколько я понимаю, виснущее внешнее приложение плодит  незавершённые процессы,
и когда их число превышает некий лимит, UNIX лишает РНР возможности запускать
какие бы то ни было shell-скрипты?
Как избежать такой ситуации, в каком направлении копать?
Как средствами РНР или шелла отследить, что внешнее приложение зависло и принять меры (убить лишние процессы или что там нужно сделать в такой ситуации)???

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28