Как в ПХП проверить запущен ли скрипт?

Тема в разделе "PHP", создана пользователем rus-us, 14 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rus-us

    rus-us

    Регистр.:
    8 сен 2007
    Сообщения:
    153
    Симпатии:
    72
    Есть скрипт (ICQ бот), например это index.php
    Периодически, из-за глюков подключения, или хостинга, скрипт вылетает.

    Исходя из этого, у меня такой вопрос:
    возможно ли, запустив другой скрипт, например check.php, узнать запущен index.php или нет?
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    index.php - это демон?
     
  3. rus-us

    rus-us

    Регистр.:
    8 сен 2007
    Сообщения:
    153
    Симпатии:
    72
    Нет.
    обычный скрипт с
    PHP:
        @set_time_limit(0);
        @
    ini_set("max_execution_time"0);
     
  4. Granat

    Granat Создатель

    Регистр.:
    3 апр 2006
    Сообщения:
    26
    Симпатии:
    5
    Слишком мало данных... хостинг как настроен, система какая? Не проще проверять это не средствами php, а средствами системы, написав простенький скрипт на sh и повесив его в крон? Или настроить пхп через fastCGI и поставить количество процессов равным 1. FastCGI будет сам следить за скриптом и сам его будет рестартовать в случае необходимости.
     
  5. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Лучше, как уже писалось выше, делать это системными способами.

    Можно в скрипте периодически записывать куда-нибудь метку по времени и сверять её по крону: если метка устарела, запускаем скрипт повторно.
     
    rus-us нравится это.
  6. Granat

    Granat Создатель

    Регистр.:
    3 апр 2006
    Сообщения:
    26
    Симпатии:
    5
    Зачем такой изврат с метками? не проще получать список процессов, и рестартовать если процесс не запущен?
    что то типа ps -aux название процесса | grep название процесса
     
  7. rus-us

    rus-us

    Регистр.:
    8 сен 2007
    Сообщения:
    153
    Симпатии:
    72

    это обычный юникс шаред хостинг , так что врядли что то из описаного подойде :)

    Добавлено через 3 минуты
    вообщето не зря раздел называется "PHP для начинающих" ;)

    это возможно выполнить на шаред хостинге?
    Если да, то поподробее пожалуйста.

    Добавлено через 10 минут
    метки - это идея :)

    Есть еще варианты?
     
  8. Granat

    Granat Создатель

    Регистр.:
    3 апр 2006
    Сообщения:
    26
    Симпатии:
    5
    Телепаты в отпуске, так что о возможностях вашего хостера я могу только строить скромные догадки. :D На шареде это скорей всего невозжно. Узнай у хостера можно ли запускать скрипты с max_execution_time = 0 и не завершаются ли процессы если к ним долго нет обращений.
     
  9. rus-us

    rus-us

    Регистр.:
    8 сен 2007
    Сообщения:
    153
    Симпатии:
    72
    ну вообщем то хостер не приветсвует ботов и пр. на хостинге, так что на его ответ надежны нет ;)

    по опыту, бот может висеть долго, даже без обращений к нему(у этого хостера 24 часа макс. см. ниже).
    Просто иногда бывают дисконекты со стороны сервера ICQ, вот от них надо найти лечение..

    плюс ко всему, именно в этого хостера ровно в 24:00 - каждый день скрипт вылетает.
    Никто не знает что за глюк?
     
  10. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    У любого вменяемого хостера на шареде долговисящие процессы киляются автоматически.
    Видать твой хостер не мониторит процессы постоянно, а сверяет в полночь.
     
Статус темы:
Закрыта.