Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¿ªÆôlinux ÄÚºËÏß³Ì

º¯Êý˵Ã÷£º
kthread_create£º´´½¨Ï̡߳£
struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...);
Ï̴߳´½¨ºó£¬²»»áÂíÉÏÔËÐУ¬¶øÊÇÐèÒª½«kthread_create() ·µ»ØµÄtask_structÖ¸Õë´«¸øwake_up_process()£¬È»ºóͨ¹ý´Ëº¯ÊýÔËÐÐÏ̡߳£
kthread_run £º´´½¨²¢Æô¶¯Ï̵߳ĺ¯Êý£º
struct task_struct *kthread_run(int (*threadfn)(void *data),void *data,const char *namefmt, ...);
kthread_stop£ºÍ¨¹ý·¢ËÍÐźŸøỊ̈߳¬Ê¹Ö®Í˳ö¡£
int kthread_stop(struct task_struct *thread);
Ïß³ÌÒ»µ©Æô¶¯ÆðÀ´ºó£¬»áÒ»Ö±ÔËÐУ¬³ý·Ç¸ÃÏß³ÌÖ÷¶¯µ÷ÓÃdo_exitº¯Êý£¬»òÕßÆäËûµÄ½ø³Ìµ÷ÓÃkthread_stopº¯Êý£¬½áÊøÏ̵߳ÄÔËÐС£
µ«Èç¹ûÏ̺߳¯ÊýÕýÔÚ´¦ÀíÒ»¸ö·Ç³£ÖØÒªµÄÈÎÎñ£¬Ëü²»»á±»Öжϵġ£µ±È»Èç¹ûÏ̺߳¯ÊýÓÀÔ¶²»·µ»Ø²¢ÇÒ²»¼ì²éÐźţ¬Ëü½«ÓÀÔ¶¶¼²»»áÍ£Ö¹¡£
 
´úÂ룺
 #include <linux/kthread.h>
#include <linux/module.h>
#ifndef SLEEP_MILLI_SEC
#define SLEEP_MILLI_SEC(nMilliSec)\
do { \
long timeout = (nMilliSec) * HZ / 1000; \
while(timeout > 0) \
{ \
timeout = schedule_timeout(timeout); \
} \
}while(0);
#endif
static struct task_struct * MyThread = NULL;
static int MyPrintk(void *data)
{
char *mydata = kmalloc(strlen(data)+1,GFP_KERNEL);
memset(mydata,'\0',strlen(data)+1);
strncpy(mydata,data,strlen(data));
while(!kthread_should_stop())
{
SLEEP_MILLI_SEC(1000);
printk("%s\n",mydata);
}
kfree(mydata);
return 0;
}
static int __init init_kthread(void)
{
MyThread = kthread_run(MyPrintk,"hello world","mythread");
return 0;
}
static void __exit exit_kthread(void)
{
if(MyThread)
{
printk("stop MyThread\n");
kthread_stop(MyThread);
}
}
module_init(init_kthread);
module_exit(exit_kthread);
MODULE_AUTHOR("YaoGang");
Õâ¸öÄÚºËÏ̵߳Ä×÷ÓþÍÊÇÿ¸ôÒ»Ãë´òÓ¡Ò»¸ö“hello world”¡£
ÖµµÃÒ»ÌáµÄÊÇkthread_should_stopº¯Êý£¬ÎÒÃÇÐèÒªÔÚ¿ªÆôµÄÏß³ÌÖÐǶÈë¸Ãº¯Êý£¬·ñÔòkthread_stopÊDz»Æð×÷Óõġ£


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

linuxµÄѹËõ/½âѹËõÃüÁî(tar,gzipµÈ)¼°Ê¾Àý

linuxµÄѹËõ/½âѹËõÃüÁî(tar,gzipµÈ)¼°Ê¾Àý
2008-08-18 15:43
tarÃüÁî
[root@linux ~]# tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
Ìرð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿ÉÍ¬Ê ......

linuxÄں˳õʼ»¯¼°Æô¶¯Ö®Óû§Ä£Ê½¿ªÊ¼

 
PCI: bus0: Fast back to back transfers disabled
PCI: Configured XX as a PCI slave with 128MB PCI memory
PCI: Each Region size is 16384KB
PCI: Reserved memory from 0x10080000 to 0x15080000 for DMA and mapped to 0x12000000
¡¡¡¡É豸µÄ³õʼ»¯ init()--->do_basic_init()--->pci_init()£¬³õÊ ......

Linux Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é£¨×ª£©

 
Linux Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é
×÷Õߣº½ð²½¹ú
°æȨÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL
µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈκÎÆäËüÌõ¼þ¡£Äú¿É
ÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ ......

Linux»·¾³ÏÂMySQLÊý¾Ý¿â´óСдÇø·ÖÎÊÌâ


 
1¡¢LinuxÏÂmysql°²×°ÍêºóÊÇĬÈÏ£ºÇø·Ö±íÃûµÄ´óСд£¬²»Çø·ÖÁÐÃûµÄ´óСд£»
2¡¢ÓÃrootÕʺŵǼºó£¬ÔÚ/etc/my.cnf ÖеÄ[mysqld]ºóÌí¼ÓÌí¼Ólower_case_table_names=1£¬ÖØÆôMYSQL·þÎñ£¬ÕâʱÒÑÉèÖóɹ¦£º²»Çø·Ö±íÃûµÄ´óСд£»
lower_case_table_names²ÎÊýÏê½â£º
lower_case_table_names = 0
ÆäÖÐ 0£ºÇø·Ö´óСд£¬1 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ