在Linux环境下使用C语言获取系统信息,通常涉及到读取系统文件和使用特定的系统调用。以下是一些基础概念和相关的方法:
/proc
文件系统/proc
目录下有许多以数字命名的文件,每个文件对应一个进程,可以通过读取这些文件来获取进程信息。例如,读取/proc/cpuinfo
可以获取CPU信息。
#include <stdio.h>
int main() {
FILE *fp;
char buffer[1024];
fp = fopen("/proc/cpuinfo", "r");
if (fp == NULL) {
perror("Failed to open /proc/cpuinfo");
return 1;
}
while (fgets(buffer, sizeof(buffer), fp)) {
printf("%s", buffer);
}
fclose(fp);
return 0;
}
stat
系统调用获取文件信息stat
函数可以用来获取文件的元数据,如大小、权限、修改时间等。
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
struct stat fileStat;
if(stat(argv[1], &fileStat) < 0) {
perror("stat");
return 1;
}
printf("File size: %ld bytes\n", fileStat.st_size);
printf("Last modified: %s", ctime(&fileStat.st_mtime));
return 0;
}
sudo
。通过上述方法,可以在Linux环境下使用C语言有效地获取和处理系统信息。
领取专属 10元无门槛券
手把手带您无忧上云