linux ¶¨Ê±Æ÷ʹÓÃÒ»
#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
static char *runStatusFile = "/syscfg/etc/runStatusFile";
//static char *runStatusFile = "runStatusFile";
FILE *pFile = NULL;
char runCountStr[10]={0};
unsigned runCountInt = 0;
char runTimeStr[15]={0};
unsigned runTimeInt = 0;
void doTask()
{
pFile = fopen(runStatusFile, "r+");
/*
if(NULL == pFile)
{
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, 11L, SEEK_SET);
fread (runTimeStr, sizeof(char), 10, pFile);
runTimeInt = atoi(runTimeStr);
runTimeInt += 30;
fseek (pFile, 11L, SEEK_SET);
sprintf(runTimeStr,"%d",runTimeInt);
fwrite(runTimeStr, sizeof(char),10, pFile);
/*
fseek (pFile, 11L, SEEK_SET);
fread (runTimeStr, sizeof(char), 10, pFile);
printf("runTimeStr = %s\n",runTimeStr);
*/
fclose(pFile);
}
// ½¨Á¢ÐźŴ¦Àí»úÖÆ
void init_sigaction(void)
{
struct sigaction tact; /*Ðźŵ½ÁËÒªÖ´ÐеÄÈÎÎñ´¦Àíº¯ÊýΪdoTask*/
tact.sa_handler = doTask;
tact.sa_flags = 0; /*³õʼ»¯Ðźż¯*/
sigemptyset(&tact.sa_mask); /*½¨Á¢ÐźŴ¦Àí»úÖÆ*/
sigaction(SIGALRM, &tact, NULL);
}
void init_time()
{
struct itimerval value; /*É趨ִÐÐÈÎÎñµÄʱ¼ä¼ä¸ôΪ30Ãë0΢Ãë*/
value.it_value.tv_sec = 30;
value.it_value.tv_usec = 0; /*É趨³õʼʱ¼ä¼ÆÊýҲΪ30Ãë0΢Ãë*/
value.it_interval = value.it_value; /*ÉèÖüÆÊ±Æ÷ITIMER_REAL*/
setitimer(ITIMER_REAL, &value, NULL);
}
int main()
{
pFile = fopen(runStatusFile, "r+");
if(pFile == NULL)
{
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚ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++À´Ð´ÄÚºË ......
eaccelerator.shm_size
The amount of shared memory (in megabytes) that eAccelerator will use.
"0" means OS default. Default value is "0".
eaccelerator.cache_dir
The directory that is used for disk cache. eAccelerator stores precompiled code ......
1.ɾ³ýÎļþ¼ÐÓãºrmdir Îļþ¼ÐÃû
µ«ÊÇrmdir²»ÄÜɾ³ý·Ç¿ÕµÄÎļþ¼Ð£¬ÄÇÈçºÎɾ³ý·Ç¿ÕÎļþ¼ÐÄØ£º
2.ͨ³£Çé¿öÏ£¬É¾³ýÎļþÓãºrm ÎļþÃû
-d»ò--directory ¡¡Ö±½Ó°ÑÓûɾ³ýµÄĿ¼µÄÓ²Á¬½ÓÊý¾Ýɾ³É0£¬É¾³ý¸ÃĿ¼¡£
¡¡-f»ò--force ¡¡Ç¿ÖÆÉ¾³ýÎļþ»òĿ¼¡£
¡¡-i»ò--interactive ......