У меня есть приложение сторонней библиотеки, которое работает непрерывно и генерирует консольную печать при возникновении какого-либо события. Я хочу предпринять некоторые действия, когда произойдет какое-то конкретное событие, поэтому мне нужно постоянно контролировать печать на консоли, чтобы запустить действие.Постоянно отслеживать журналы консоли Linux, используя приложение C/C++
Можно ли написать приложение, которое может непрерывно контролировать струйный самосвал на консоли (stdout) и выполнять обработку при обнаружении одной строки.
Я попытался использовать функцию «popen», но он продолжает ждать, пока приложение библиотеки прекратит выполнение. Вот мой пример кода с использованием открытой
#include <stdio.h>
int main()
{
FILE *fd = NULL;
char buf[512] = {0};
fd = popen ("./monitor","r");
while (fgets (buf, 512, fd) != NULL)
{
printf ("__FILE__ : message : %s\n",buf);
}
printf ("EOF detected!\n");
return 0;
}
Может кто-нибудь пожалуйста, дайте мне знать, как правильно журналов консоли мониторинга и принять меры.
Заранее спасибо.
Pratik
Вы подумали об использовании bash/shell, чтобы решить вашу проблему? – sashang
привет sashang, можете ли вы предоставить какое-то решение на основе этого? – Pratik