如何在Linux中查找某个进程占用了多少RAM和CPU资源?如何查找所有正在运行的进程(包括守护进程和系统进程)? =)
更新:使用C语言。
更新:使用C语言。
ps aux
将列出所有进程及其所有者、状态、使用的内存等信息。
编辑:要在 Linux 下使用 C 语言实现此功能,您需要读取 proc 文件系统中的进程文件。例如,/proc/1/status
包含有关您的 init 进程(始终具有 PID 1
)的信息:char buf[512];
unsigned long vmsize;
const char *token = "VmSize:";
FILE *status = fopen("/proc/1/status", "r");
if (status != NULL) {
while (fgets(buf, sizeof(buf), status)) {
if (strncmp(buf, token, strlen(token)) == 0) {
sscanf(buf, "%*s %lu", &vmsize);
printf("The INIT process' VM size is %lu kilobytes.\n", vmsize);
break;
}
}
fclose(status);
}