Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by jas ( 15 years ago )
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/time.h>
int cont=1,temp,temp_ante;
char temperatura[2];
char temp_max[2];
int intervalo_actualizacion;
int incremento;
int valor_maximo;
int iteraciones;
int iter=0;
int vm=0;
void tempo(){
int temperatura;
char s[4],*p;
//system("clear");
system("cat /proc/acpi/thermal_zone/TZ00/temperature | cut -f14 -d" " > temperatura");
FILE *FC=fopen("temperatura", "r");
p=fgets(s,4,FC);
fclose(FC);
temperatura= atoi(s);
printf ("%d",temperatura);
while (cont!=iteraciones){
if ((temperatura==temp_ante)||(cont==1)){
cont++;
temp_ante=temperatura;
alarm(intervalo_actualizacion);
}
else if (cont==3){
intervalo_actualizacion=intervalo_actualizacion+incremento;
}
else if (temperatura>=valor_maximo){
printf("Salida por valor temperatura máximo (%dºC) alcanzado\n",valor_maximo);
vm=1;
}
else if (iteraciones==cont){
printf("Salida por máximo número de iteraciones (%d) alcanzado\n",iteraciones); //cont=1;
iter=1;
}
else cont=1;
}
}
int main(int argc, char *argv[ ])
{
intervalo_actualizacion=atoi(argv[1]);
incremento=atoi(argv[2]);
valor_maximo=atoi(argv[3]);
iteraciones=atoi(argv[4]);
printf("Intervalo actualizacion: %d\n",intervalo_actualizacion);
printf("Incremento de intervalo: %d\n",incremento);
printf("Valor máximo de temperatura: %d\n",valor_maximo);
printf("Iteraciones: %d\n\n",iteraciones);
signal(SIGALRM,tempo);
alarm(intervalo_actualizacion);
while((iter!=1)&&(vm!=1));
}
Revise this Paste