Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как прервать бесконечный цикл?

Сообщения:  [1-10]   [11-17] 

 
 автор: Unkind   (04.06.2007 в 23:36)   письмо автору
 
   для: Sobachka   (04.06.2007 в 22:34)
 

Нет, конечно, не закончится и не остановится.

   
 
 автор: Sobachka   (04.06.2007 в 22:34)   письмо автору
 
   для: Unkind   (04.06.2007 в 11:21)
 

>Если такое происходит на сервере, то я просто удаляю исполняющийся файл по ftp
>И абсолютно ничего исполняющемуся в RAM скрипту не станет.
лимит памяти закончиться и скрипт сам астановиться :-p

   
 
 автор: Trianon   (04.06.2007 в 15:44)   письмо автору
 
   для: sms-send   (04.06.2007 в 14:39)
 

в массовом порядке - я имею в виду.

   
 
 автор: sms-send   (04.06.2007 в 14:39)   письмо автору
 
   для: Trianon   (04.06.2007 в 14:25)
 

>бот на php не пишут.

Это ещё почему?

   
 
 автор: Trianon   (04.06.2007 в 14:25)   письмо автору
 
   для: sms-send   (04.06.2007 в 13:46)
 

бот на php не пишут.

   
 
 автор: sms-send   (04.06.2007 в 13:46)   письмо автору
 
   для: Trianon   (04.06.2007 в 11:57)
 

>способ хороший.... Но иногда зацикливание может происходить и внутри стандартных функций. Так что set_time_limit на 30 секунд (вроде бы умалчиваемое значение) никогда не повредит.

В боте это не приемлимо, он должен выполняться месяцами непрерывно. Подобные ограничения ставлю только при отладке.

   
 
 автор: Trianon   (04.06.2007 в 11:57)   письмо автору
 
   для: bronenos   (04.06.2007 в 11:11)
 

способ хороший.... Но иногда зацикливание может происходить и внутри стандартных функций. Так что set_time_limit на 30 секунд (вроде бы умалчиваемое значение) никогда не повредит.

   
 
 автор: Unkind   (04.06.2007 в 11:21)   письмо автору
 
   для: Владимир55   (03.06.2007 в 12:02)
 

Если такое происходит на сервере, то я просто удаляю исполняющийся файл по ftp
И абсолютно ничего исполняющемуся в RAM скрипту не станет.

   
 
 автор: bronenos   (04.06.2007 в 11:11)   письмо автору
 
   для: sms-send   (04.06.2007 в 10:23)
 

кстати хороший способ))

   
 
 автор: sms-send   (04.06.2007 в 10:23)   письмо автору
 
   для: Владимир55   (03.06.2007 в 12:02)
 

>Иногда случается, что при отладке рождается бесконечный цикл, который надо принудительно завершить. Если такое происходит на сервере, то я просто удаляю исполняющийся файл по ftp.

Был у меня пару месяцев назад такой случай. Тестировал ICQ бота. Нашёл замечательный хостинг. И всё замечательно работало. Отключение бота (завершение цикла while) было предусмотрено только при получении определённой команды с моего уина. Всё было прекрасно, пока я не накосячил, при обновлении бота, в этом самом цикле. Бот в online не выходил, при этом начал довольно быстро расти "error_log" в дирректории бота.

1. Переименовал файл бота - никаких изменений.
2. Удалил файл бота - никаких изменений.
3. Снёс директорию с ботом - никаких изменений.

Ничего не помогало, а "error_log" рос не по дням, а по секундам. В общем "работало" всё это безобразие, пока я на следующий день не обратился в поддержку, где мне помогли удалением процесса.

P.S. с тех пор скрипты на этом хостинге выполняются не дольше 7 минут.

Теперь при отладке скриптов на хостингах ненадёжные циклы делаю по такому шаблону:

<?php

set_time_limit
(0);
ignore_user_abort(true);
while(
true){
    
/*
    * Кое-что, что работает, но не всегда корректно.
    */
    
if(!file_exists('flag.txt'))break;
}

?>

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования