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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как написать простеший PHP демон и увидеть что он работает
 
 автор: добряк   (12.03.2014 в 15:27)   письмо автору
 
 

Как написать простеший демон и увидеть что он работает.
( например типа Хелло, а лучше что-бы он останавливал работу другого скрипта ( процесса)

  Ответить  
 
 автор: elenaki   (12.03.2014 в 20:10)   письмо автору
 
   для: добряк   (12.03.2014 в 15:27)
 

У Ставинского спроси, у него скрипт работает даже после удаления
http://softtime.ru/forum/read.php?id_forum=1&id_theme=63530

  Ответить  
 
 автор: добряк   (12.03.2014 в 20:36)   письмо автору
 
   для: elenaki   (12.03.2014 в 20:10)
 

Я его спросил. Спросил как он удалил и как он знает что тот все равно работает

  Ответить  
 
 автор: psychomc   (12.03.2014 в 21:25)   письмо автору
 
   для: elenaki   (12.03.2014 в 20:10)
 

вы так говорите, как будто это ненормально и какая-то особая магия

  Ответить  
 
 автор: добряк   (12.03.2014 в 21:50)   письмо автору
 
   для: psychomc   (12.03.2014 в 21:25)
 

Ну подскажите пожалуйста простой скрипт, типо хелло, что-бы по заданному времени вырубал другой скрипт.

  Ответить  
 
 автор: psychomc   (13.03.2014 в 01:48)   письмо автору
 
   для: добряк   (12.03.2014 в 21:50)
 

я сомневаюсь, что такое делают средствами php. а вообще, тут нет ничего сложного. например, первый скрипт может проверять наличие временного файла на диске, и если он есть - останавливаться с помощью exit. второй же скрипт будет этот файл сохранять в заданное время.

  Ответить  
 
 автор: добряк   (13.03.2014 в 10:56)   письмо автору
 
   для: psychomc   (13.03.2014 в 01:48)
 

Вот мне такой вариант и нужен. Подскажите пожалуйста, где найти.
Собственно, как я и читал на хабрахабре, создают временный файл pid.
Скажем при появлении его запуск - демона, при исчезновении - закрытие демона.


http://habrahabr.ru/post/40432/

$pid = pcntl_fork();
if ($pid == -1) {
    //ошибка
} elseif ($pid) {
    //сюда попадет родительский процесс
} else {
    //а сюда - дочерний процесс
}            
//а сюда попадут оба процесса


ВОт готовая болванка тоже http://www.php.su/functions/?cat=pcntl, но не работает pcntl_fork()
Вот еще вариант http://uk0.us/2011/05/daemons-base/ тоже не работатет pcntl_fork()
Не понятно как автор запускает просмотр процессов.

В Винде я знаю диспетчер, спай и др.. Но должен ли там появится процесс демонизации

Точнее говоря не получается самое начало.
Но мне не удается отсоединится от родительского процесса, не работает под виндой pcntl_fork();
Где то я читал, что вообще можно без pcntl_fork()( http://www.php.su/functions/?pcntl-fork)
Для чего он нужен pcntl_fork();? Регистрация в ОС и получения сигналов семафоров?
Вы описали мой случай, осталось немножко что-бы проклюнуло/

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

  Ответить  
 
 автор: psychomc   (13.03.2014 в 12:20)   письмо автору
 
   для: добряк   (13.03.2014 в 10:56)
 

может быть стоит попробовать поставить большое время выполнения скрипта и сделать бесконечный цикл?

  Ответить  
 
 автор: добряк   (13.03.2014 в 13:40)   письмо автору
 
   для: psychomc   (13.03.2014 в 12:20)
 

У меня почему то до 150 секунд стали выполнятся запросы ботов, вместо 0.0001.
Это время огромный минус - кто то грузит, что-то зависает.
Робот минусует ранг.
Надо либо чистить зависшие процессы, либо ограничивать время работы скрипта.

На файлах я делал раньше бесконечный цикл с замером времени и при превышении exit.
Ну а в MySQL я не знаю как.

Другой момент, это мое мнение, что MySQL порождает массу заморочек.
Это мое мнение, но каждая сложная, мощная новая подсистема с миллионами установками по умолчанию создает как уязвимости, так и пожирает время на обслуживание.
Ну есть там всякие законы Мерфи и другие, так это как раз по ним проблемка.

Ну вот темку нашел
http://phpclub.ru/talk/threads/Помогите-убить-выполняемый-скрипт.45610/
http://phpclub.ru/talk/threads/Ограничение-вермени-выполнения-запроса.68652/
http://www.sql.ru/forum/1033296/ogranichenie-vremeni-vypolneniya-zaprosa

Из вышеперечисленного, а так же из-за принципов поисковых роботов( какое зло меньшее) придерживаюсь мнения
типа крон-процесса , каждые 10 секунд , читать,определять давновисячие процессы и УБИВАТЬ

  Ответить  
Rambler's Top100
вверх

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