Демон перестает слать на мыло и писать лог

ilyichzc

Новичок
Демон перестает слать на мыло и писать лог

Есть демон на PHP, который пишет лог в файл и каждый час шлет на email отчет со стаитситческими данными. При работе под Windows - отчеты приходят, лог пишется. При запуске под CentOS на хостинге, через какое то вермя лог перестает писаться и письма тоже не отправляются. Скорее всего это происходит при смене суток. Тоесть как только дата сменилась отчеты уже не ведутся. В чем может быть дело - пока не смог разобраться. При этом сам демон работает. Прога запускается из командной строки и демонизируется из скрипта (делает fork). В списке процессов висит от юзера nobody.
Заранее благодарен за дельные советы.
 

ilyichzc

Новичок
Ротация предусмотрена при смене даты или при достижении максимального размера файла. Так же если произошла ошибка fwrite() - создается новый файл лога. Правда на хостинге он не создается. Да что и говорить, рассылка тоже не приходит на почту. Выглядит все так, будто таймер встает для программы.. Вот и думаю что может такое быть. ТЕм более тот же код из винды нормально работает
 

dimagolov

Новичок
ilyichzc, узнай у суппорта хостинга, может они чистят зависшие процессы по крону?
 

Alexandre

PHPПенсионер
ilyichzc, узнай у суппорта хостинга, может они чистят зависшие процессы по крону?
хотел посоветовать: посмотри процессы...
а как они определяют - завис процесс или нет?
 

Активист

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

Плюс - статус Zombie для процесса, тоже показатель))
 

dimagolov

Новичок
Alexandre, они могут тупо килять все, что крутится более N сек. на момент очистки кроме ограниченного списка мастер-процессов. реально не так много процессов в юнихах съедают десятки секунд процессорного времени даже при длительных uptime-ах. к примеру у меня (обратите внимание на uptime):
Код:
top - 19:26:30 up 135 days,  9:59,  1 user,  load average: 3.23, 2.57, 3.00
Tasks: 192 total,   3 running, 189 sleeping,   0 stopped,   0 zombie
Cpu(s): 20.9%us,  4.7%sy,  0.0%ni, 73.1%id,  1.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   4016944k total,  3823904k used,   193040k free,   281204k buffers
Swap:        0k total,        0k used,        0k free,  2566996k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+    TIME COMMAND
19800 mysql     15   0  417m 163m 5164 S  6.6  4.2  10795:10 179,55 mysqld
  381 root      10  -5     0    0    0 S  0.0  0.0 204:36.43 204:36 kjournald
28236 dimagolo  15   0  2452 1308  800 S  0.3  0.0  53:47.66  53:47 top
13728 mailman   15   0 42764  35m 2808 S  0.0  0.9  42:19.38  42:19 python
  193 root      10  -5     0    0    0 S  0.0  0.0  42:01.27  42:01 kswapd0
13727 mailman   15   0 39764  32m 2828 S  0.3  0.8  41:44.55  41:44 python
 1372 root      19  -5     0    0    0 S  0.0  0.0  36:09.99  36:09 kjournald
13612 nobody    15   0  272m 268m  460 S  0.0  6.8   8:34.29   8:34 memcached
 2045 root      15   0 26000 5244 3212 S  0.0  0.1   7:34.72   7:34 snmpd
 1949 root      25   0 12724 1256  544 S  0.0  0.0   7:24.35   7:24 pcscd
 2254 root      15   0 34724  29m 2412 S  0.3  0.8   5:54.34   5:54 spamd
13769 root      18   0 17008 9180 5260 S  0.0  0.2   5:50.01   5:50 httpd
 

ilyichzc

Новичок
Дело в том, что процесс крутится. Демон обслуживает клиентов в нормальном казалось бы режиме, но ни логов ни писем уже не присылает.

Еще есть такой косяк: если запустить вывод лога на экран (в консоль), то при отсоединении SSH, демон завершается.

Иногда при демонизации приходит Halt signal. - С чем может быть связано?
 

dimagolov

Новичок
Еще есть такой косяк: если запустить вывод лога на экран (в консоль), то при отсоединении SSH, демон завершается.
естественно. открой для себя screen

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