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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.