Как непрерывно проверять вывод команды ltrace в программе C
Я пытаюсь захватить выходные данные linux ltrace команда с помощью программы на языке Си.
Я пробовал использовать popen (), но это не работает, мне нужно захватывать непрерывный вывод не только один раз.
Ниже приведен мой код:
Пожалуйста, дайте мне ваш совет
Что я уже пробовал:
#include <stdio.h> #include <stdlib.h> int main(int carg, char *args[]) { FILE *fp = popen("ltrace -p pid", "r"); char buf[255]; while (1) { if (fgets(buf, 255, fp) != NULL) { printf("Captured Text: %s", buf); } } return 0; }
Afzaal Ahmad Zeeshan
Рассматривалась ли возможность работы с трубами для автоматического захвата входных данных? Я думаю, что это будет полезно в данном случае.
Yougeshwar Khatri
не могли бы вы привести мне какой-нибудь пример, пожалуйста
Afzaal Ahmad Zeeshan
Конечно, видеть это ссылка, чтобы узнать больше о каналах Linux, тоже есть пример.