Код демона:
#!/usr/local/bin/php -q
<?
require_once("Log.php");
$child_pid = pcntl_fork();
if( $child_pid ) {
exit;
}if(posix_setsid() == -1)
Exit;
file_put_contents('my_pid_file.pid', getmypid());
$logger = Log::singleton('file', 'daemon.log', 'DAEMON2', null, PEAR_LOG_DEBUG);
while(true){
$logger->log("test log message");
usleep(5);
}
?>
Log.php - это PEAR_Log
Запускаю демон, в лог все пишется нормально. Однако, через 2-5 минут демон вдруг пропадает из списка процессов.
Ни в логе, ни в /var/log/messages не вижу причин падения демона.
Если вывод заменить на $logger->log("test log message".rand()), то демон не пропадает. Соответственно закрадывается подозрение, что что-то убивает демона за то что он пишет одинаковые сообщения в лог. Одинаковый эффект на FreeBSD и Debian. Виновать PEAR_Log?
зы
пока заменил на нативные вывод в файл с вызовом fopen, fwrite, все работает как часы.
Но хочется все же использовать PEAR_Log.