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

Статус
В этой теме нельзя размещать новые ответы.

rus-us

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

Исходя из этого, у меня такой вопрос:
возможно ли, запустив другой скрипт, например check.php, узнать запущен index.php или нет?
 
index.php - это демон?
 
Слишком мало данных... хостинг как настроен, система какая? Не проще проверять это не средствами php, а средствами системы, написав простенький скрипт на sh и повесив его в крон? Или настроить пхп через fastCGI и поставить количество процессов равным 1. FastCGI будет сам следить за скриптом и сам его будет рестартовать в случае необходимости.
 
Лучше, как уже писалось выше, делать это системными способами.

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

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

Зачем такой изврат с метками? не проще получать список процессов, и рестартовать если процесс не запущен?
что то типа ps -aux название процесса | grep название процесса
 
Слишком мало данных... хостинг как настроен, система какая? Не проще проверять это не средствами php, а средствами системы, написав простенький скрипт на sh и повесив его в крон? Или настроить пхп через fastCGI и поставить количество процессов равным 1. FastCGI будет сам следить за скриптом и сам его будет рестартовать в случае необходимости.


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

Добавлено через 3 минуты
Зачем такой изврат с метками? не проще получать список процессов, и рестартовать если процесс не запущен?
что то типа ps -aux название процесса | grep название процесса

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

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

Добавлено через 10 минут
Лучше, как уже писалось выше, делать это системными способами.

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

метки - это идея :)

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

Добавлено через 3 минуты


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

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

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

ну вообщем то хостер не приветсвует ботов и пр. на хостинге, так что на его ответ надежны нет ;)

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

плюс ко всему, именно в этого хостера ровно в 24:00 - каждый день скрипт вылетает.
Никто не знает что за глюк?
 
У любого вменяемого хостера на шареде долговисящие процессы киляются автоматически.
Видать твой хостер не мониторит процессы постоянно, а сверяет в полночь.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху