LINUX.ORG.RU

FILE *fp = popen("tail -f /var/log/file.log");
int fd = fileno(fp);
...
FD_SET(fd, &fds)
select(....);

:)))

lg ★★
()

lg, a napryamuyu nel'zya etot file otkryt'? bez tail -f ?

anonymous
()

2 anonym: конечно можно!(tail же как-то делает) .. я просто так написал чтобы ты сам посмотрел как это делает tail .. :)

lg ★★
()

lg, уже давай в кратце рассказывай, наверняка знаешь как "это" делает tail, всем интересно :)

anonymous
()

tail делает через механизм kevent() если доступно или через sleep() и stat() .. кстати на сколько я еще помню на пайпах всегда работает через sleep() и stat() поэтому пизже делать tail -f /file/name чем cat /file/name | tail -f

lg ★★
()
Ответ на: комментарий от lg

А, помнится, можно как-то было заставить посылать сигнал группе при IO событии на дескрипторе? Что-то там посвистеть через fcntl()...

Die-Hard ★★★★★
()

Я (автор темы) приеадлежу к тому типу людей, которые просто-так никогда не задают вопросы, не разобравшись в сути проблемы. Я очень благодарен всем, кто высказал свои догадки и мысли, по этому вопросу. Но я хочу быть краток, мне небходимо, согласно моему ТЗ на УИР в институте, наваять могучий демон клиента СЗИ (системы защиты информации, круто звучит, наверное) который ножен пересылать все дописки в логи админу, соответственно, нужно както довить запись в логи.

В данный момент я вижу только одно решение (т. к. сейас сижу на днюхе, у одного из моих лучших друзей, в состоянии, близком к нестоянию :) ) это написание модуля ядра, который перехватывает системный вызов write, и т. д.. select, хочу вам сказать, в данной ситуации не работает, т. к. он только обнаруживает наличие блокировки при чтении или при записи, но в моём случае, блокировка не работает т. к. read взвращает 0, а не блокируется.

Thanks for all.

anonymous
()

>(...)это написание модуля ядра, который перехватывает системный вызов write, и т. д..

а может проще примонтировать модуль к /var/log/logfile_szi.log ?

P.S.вот к чему приводит закрытость исходников:)

Anonymous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.