本文介绍了如何在C程序中连续检查ltrace命令输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用C程序捕获linux ltrace 命令的输出。



我尝试过使用popen()但是这不起作用,我需要不仅连续拍摄一次输出。



以下是我的代码:



请给我的建议



我的尝试:



Im trying to capture output of linux ltrace command using C program.

I have tried using popen() but that's not working, I need to capture continuously output not only once.

Below is my code:

Please give me your advice

What I have tried:

#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;
}

推荐答案

FILE *fp = popen("ltrace -p pid 2>&1", "r");


这篇关于如何在C程序中连续检查ltrace命令输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 14:17