Uptime para tempo humano
Publicado por Djames Suhanko 29/01/2006
[ Hits: 6.386 ]
Homepage: http://phantomclone.com
Tive que converter o uptime da maquina para tempo legível. Primeiramente, recolhi o valor com um script (que fazia outras coisas além dessa, óbviamente):
cat /proc/uptime|cut -f1 -d. >/tmp/tempo
Depois, chamava o programa em C de dentro desse script.
#include <stdio.h>
main (int argc, char *argv[])
{
if (!(argv[1]))
{
printf("Voce deve indicar o caminho e nome do arquivo a ler\n");
printf("Ex.: %s /home/usuario/arquivo_com_valor_numerico.txt\n",argv[0]);
return 1;
}
int tempo;
FILE *TEMPO;
TEMPO=fopen(argv[1],"r");
while (!feof(TEMPO))
{
fscanf(TEMPO,"%d",&tempo);
}
fclose(TEMPO);
int HORAS_SEG;
int MINUTOS;
//Converte os segundos para DIAS HORAS MINUTOS
//segundos de 1 dia
int DIA_TEM=86400;
//Quantos dias isso da?
int DIAS=(tempo / DIA_TEM); // resultado de dia
int RESTO_SEG=tempo % DIA_TEM; //resto em segundos
//O resto pode estar no maximo em horas
int HORAS=(RESTO_SEG / 60)/60;
if (HORAS > 0)
{
HORAS_SEG=(HORAS * 60) * 60;
MINUTOS=(RESTO_SEG - HORAS_SEG)/60;
}
else
{
MINUTOS=(RESTO_SEG/60);
}
if (argv[2])
{
FILE *ARQUIVO;
ARQUIVO=fopen(argv[2],"a+t");
fprintf(ARQUIVO,"%d %d %d", DIAS, HORAS, MINUTOS);
fclose(ARQUIVO);
}
else
{
printf ("%d %d %d\n", DIAS, HORAS, MINUTOS);
}
} //The End
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (4)
VOL já não é mais como antes? (28)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (18)









