C 获取top命令数据
时间: 2024-01-05 07:51:19 浏览: 109
在 Linux 系统中,top 命令是一个用于实时监控系统中运行进程的工具。如果你想要使用 C 语言获取 top 命令的数据,可以使用 popen 函数来执行 top 命令并获取输出数据。
以下是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
FILE* fp;
char path[1035];
// 执行 top 命令,并将输出数据保存到 fp 文件指针中
fp = popen("top -b -n 1", "r");
if (fp == NULL) {
printf("Failed to run command\n");
return 1;
}
// 读取 fp 文件指针中的输出数据,并打印到控制台上
while (fgets(path, sizeof(path)-1, fp) != NULL) {
printf("%s", path);
}
// 关闭文件指针
pclose(fp);
return 0;
}
```
在上面的代码中,我们使用 popen 函数执行 top 命令,并将输出数据保存到 fp 文件指针中。然后,我们使用 fgets 函数逐行读取 fp 文件指针中的输出数据,并将其打印到控制台上。最后,我们使用 pclose 函数关闭文件指针。
需要注意的是,在执行 top 命令时,我们使用了 `-b` 和 `-n 1` 选项。其中,`-b` 表示以批处理模式运行 top 命令,而 `-n 1` 表示只执行一次 top 命令并退出。
阅读全文