Я пытаюсь реализовать решение в чистом C, чтобы отслеживать новые записи, сделанные в файле журнала, который записывает большой объем запросов в веб-службу.Программный реализация tail -f в чистом виде C
Мне хотелось бы что-то вроде tail -f, где изменение в файле журнала приводит к тому, что мой процесс мгновенно получает новые изменения.
Это, к сожалению, должно выполняться на Solaris 10.
Я знаю, что этот вопрос был задан и ответ в других потоках, но ни одно из решений, приемлемых для моей ситуации
1) Раствор не должен требовать супер доступа пользователей к каким-либо образом. Поскольку это производственная среда предприятия, в этой системе нет доступа суперпользователя, поэтому я не могу сделать что-то вроде установки драйвера.
2) Файл журнала будет очень большим. Размышление об этом полностью, неоднократно для новых изменений неприемлемо.
Мне кажется, что если я могу запустить tail -f как непривилегированный пользователь, я должен быть способен сделать то же самое программно, что и тот же пользователь. Я понимаю, что хороший хак будет заключаться в том, чтобы вывести выход из хвоста -f в мой процесс, хотя мне бы хотелось, чтобы что-то было чище.
Почему бы не посмотреть исходный код 'tail'? –
У меня на самом деле нет исходного кода, Solaris - закрытый источник. – Mike
http://stackoverflow.com/questions/1439799/how-can-i-get-the-source-code-for-the-linux-utility-tail – selbie