CPU e memória em C no GNU/Linux
Publicado por euteste da silva (última atualização em 13/06/2012)
[ Hits: 4.412 ]
O programa pega informações de CPU e memória do Linux.
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { FILE *fp; char str[31], *pt, *pFim; float f1, f2, f3; unsigned int memF, memFlivre, memFocupada; fp = fopen("/proc/cpuinfo","r"); if(fp == NULL){ fprintf(stderr,"Error na abertura de arquivo da cpu"); exit(-1); } printf("\n\nInformacoes de CPU da maquina\n"); while(fgets(str,30,fp)){ if((strncmp(str,"processor",8)==0) || \ (strncmp(str,"vendor_id",8)==0) || \ (strncmp(str,"cpu MHz",6)==0)) { printf("%s",str); } } fclose(fp); fp = fopen("/proc/loadavg","r"); if(fp == NULL){ fprintf(stderr,"Error na abertura de arquivo do load"); exit(-1); } printf("\nLoad da CPU"); while(fgets(str,30,fp)){ sscanf(str,"%f %f %f",&f1,&f2,&f3); printf("\n%.2f %.2f %.2f\n",f1,f2,f3); } fclose(fp); fp = fopen("/proc/meminfo","r"); if(fp == NULL){ fprintf(stderr,"Error ao acessar arquivo memoria"); exit(-1); } printf("\nMemoria da maquina\n"); while(fgets(str,30,fp)){ if(strncmp(str,"MemTotal:",9)==0) { pt=strtok(str," "); pt=strtok(NULL," "); memF=strtol(pt,&pFim,10); printf("Fisica: %d [kb]\n",memF); } if(strncmp(str,"MemFree:",8)==0) { pt=strtok(str," "); pt=strtok(NULL," "); memFlivre=strtol(pt,&pFim,10); printf("Fisica livre: %d [kb]\n",memFlivre); } } printf("Ocupaca: %d [kb]\n", memF-memFlivre); fclose(fp); }
Converçor de Decimal para Binario
Retornar o montante de um capital aplicado a juros compostos
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
O que você está ouvindo agora? [2] (164)
Erro ao iniciar Ubuntu 24.04.1 LTS - Management Owner Key - MoK (6)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta