#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <ctype.h>
#include <time.h>
#include <unistd.h>
#include <signal.h>
static char *runStatusFile = "/syscfg/etc/runStatusFile";
FILE *pFile = NULL;
char runCountStr[6]={0};
unsigned runCountInt = 0;
char runTimeStr[6]={0};
unsigned runTimeInt = 0;
void doTask()
{
pFile = fopen(runStatusFile, "r+");
fseek (pFile, 6L, SEEK_SET);
fread (runTimeStr, sizeof(char), 5, pFile);
runTimeInt = atoi(runTimeStr);
runTimeInt += 10;
fseek (pFile, 6L, SEEK_SET);
sprintf(runTimeStr,"%d",runTimeInt);
fwrite(runTimeStr, sizeof(char),5, pFile);
//fseek (pFile, 6L, SEEK_SET);
//fread (runTimeStr, sizeof(char), 5, pFile);
//printf("runTimeStr = %s\n",runTimeStr);
fclose(pFile);
}
int main()
{
pFile = fopen(runStatusFile, "r+");
if(pFile == NULL)
{
pFile = fopen(runStatusFile,"w+");
fseek (pFile, 0L, SEEK_SET);
fwrite("0", sizeof(char), 1, pFile);
fseek (pFile, 6L, SEEK_SET);
fwrite("0", sizeof(char), 1, pFile);
}
fseek (pFile, 0L, SEEK_SET);
fread (runCountStr, sizeof(char), 5, pFile);
runCountInt = atoi(runCountStr);
runCountInt++;
sprintf(runCountStr,"%d",runCountInt);
fseek (pFile, 0L, SEEK_SET);
fwrite(runCountStr, sizeof(char), 5, pFile);
fclose(pFile);
struct sigaction act;
union sigval tsval;
act.sa_handler = doTask;
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(50, &act, NULL);
while(1)
{
sleep(10); //˯Ãß10Ãë
sigqueue(getpid(), 50, tsval);//ÏòÖ÷½ø³Ì·¢ËÍÐźţ¬Êµ¼ÊÉÏÊÇ×Ô¼º¸ø×Ô¼º·¢ÐźÅ
}
return 0;
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚLKMLµÄÌÖÂÛÖУ¬Linus¸ø³öÁËΪʲô²»ÓÃC++À´Ð´LinuxÄں˵ÄÀíÓÉ£º
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“ÊÂʵÉÏ£¬ÎÒÃÇÔø¾³¢ÊÔ¹ýÓÃC++À´Ð´£¬ÊÇÔÚ1992ÄêµÄʱºò¡£ºÜÔã¸â¡£ÏàÐÅÎÒ--ÓÃC++À´Ð´ÄÚºË ......
ÔÚLinuxÏÂÓиö½Ðlm_sensorsµÄÈí¼þ¿ÉÒÔ°ïÖúÎÒÃÇÀ´¼à¿ØÖ÷°å£¬CPUµÄ¹¤×÷µçѹ£¬·çÉÈתËÙ¡¢Î¶ȵÈÊý¾Ý¡£ÕâЩÊý¾ÝÎÒÃÇͨ³£ÔÚÖ÷°åµÄ
BIOSÒ²¿ÉÒÔ¿´µ½¡£µ±ÎÒÃÇ¿ÉÒÔÔÚ»úÆ÷ÔËÐеÄʱºòͨ¹ýlm_sensorsËæʱÀ´¼à²â×ÅCPUµÄζȱ仯£¬¿ÉÒÔÔ¤·ÀºÇ±£»¤ÒòΪCPU¹ýÈȶø»áÉÕµô¡£
1. °²×°lm_sensors
ÏÖÔÚ»ù±¾ÉÏÿ¸öLinux¶¼ÒѾÓÐlm_senso ......
Ä¿Ç°¸÷ÖÖLinux·¢Ðа涼֧³ÖUTF-8±àÂ룬µ±Ç°ÏµÍ³µÄÓïÑÔºÍ×Ö·û±àÂëÉèÖñ£´æÔÚһЩ»·¾³±äÁ¿ÖУ¬¿ÉÒÔͨ¹ýlocaleÃüÁî²é¿´£º
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPE ......