linuxÖеÄfork
´ó¼ÒÖªµÀLinuxÖд´½¨×Ó½ø³ÌµÄÒ»¸öºÜºÃµÄ·½·¨ÊǺ¯Êýµ÷ÓÃfork,µ«ÊǺܶà³õѧÕß¶ÔforkµÄÀí½âÉÏ¿ÉÄÜÓеãÀ§ÄÑ¡£ÏÂÃæ¾Ù¸öÀý×ÓÀ´¿´¿´forkµÄÓ÷¨°É¡£
Æäʵ£¬´ó¼ÒÓÃforkµÄʱºò¼ÇסforkÊÇ“·Ö²æ”µÄÒâ˼¾ÍºÜºÃÀí½âÁË¡£
ÏÈ¿´Ò»ÏÂfork() µÄ¾µäģʽ£º
int pid=fork();
if(pid < 0)
{
//ʧ°Ü£¬Ò»°ãÊǸÃÓû§µÄ½ø³ÌÊý´ïµ½ÏÞÖÆ»òÕßÄÚ´æ±»ÓùâÁË
........
}
else if(pid == 0)
{
//×Ó½ø³ÌÖ´ÐеĴúÂë
......
}
else
{
//¸¸½ø³ÌÖ´ÐеĴúÂë
.........
}
......... //ÆäËû²¿·Ö
Ê×ÏÈÀ´¿´fork µÄ·µ»ØÖµ£¬ÓÐÈýÖÖÇé¿ö -1£¬0£¬>0
·µ»Ø-1: µ±È»ÊÇʧ°ÜÁË£¬Ò²²»»á·ÖÁѳÉÁ½¸ö½ø³Ì¡£
·µ»Ø0ÊÇ×Ó½ø³Ì¡£
·µ»Ø¡µ0 ÊǸ¸½ø³Ì£¬´Ëʱ·µ»ØµÄÖµµ±È»ÊÇ×Ó½ø³ÌµÄpidÁË¡£
Õâ¸ö¹ý³ÌÆäʵ¿ÉÒÔÕâÑù¼òµ¥µÄ½âÊÍ£º µ±½ø³ÌÓöµ½forkµ÷ÓÃʱ£¬½«´Ë½ø³ÌÕû¸ö¿½±´Ò»·Ý£¬¼´×Ó½ø³Ì¡£´Ëʱ£¬¸Ã½ø³ÌµÄ·µ»ØÖµ±»ÉèÖÃΪ¡µ0£¬¼´¸Õ²Å¿½±´Éú³ÉµÄ×Ó½ø³Ìpid£¬¶øÔÚ¿½±´Éú³ÉµÄ½ø³ÌÖУ¬½«·µ»ØÖµÉèÖÃΪ0 ¡£Ò²¾ÍÊÇ´ËʱÒѾÓÐÁ½¸ö½ø³Ì£¬Ö»ÓÐpidµÄÖµ²»Í¬£¨ºöÂÔÒ»ÆðÆäËûµÄÉèÖã©¡£
´Ëʱ£¬Á½¸ö½ø³Ì¶¼´Ófork¿ªÊ¼ÍùÏÂÖ´ÐУ¬Ö»ÊÇpid²»Í¬£¬ËùÒÔ if ..... else if .... esle »á¸ù¾Ýpid²»Í¬À´Ö´ÐÐÏàÓ¦µÄ´úÂë,²¢²»ÊÇ˵ijһ²¿·ÖÊǸ¸½ø³ÌµÄ´úÂë,ijһ²¿·ÖÊÇ×Ô½ø³ÌµÄ´úÂë. Ö»ÊÇһЩÌõ¼þÅж϶øÒÑ.ËùÒÔµ±forkºó,Õû¸ö´úÂë¶¼»á±»Á½¸ö½ø³ÌÖ´ÐÐ,Ö»ÊÇ(fork³É¹¦Ê±)×Ó½ø³ÌÖеÄpid ΪÁã,ËùÒÔ else ifÌõ¼þ³ÉÁ¢,ÆäËüÁ½¸ö²»³ÉÁ¢,ËùÒÔÖ´ÐÐelse ifÖеĴúÂë.¸¸½ø³ÌÖÐpid >0µÄ,ËùÒÔelse³ÉÁ¢,Ö´ÐÐÆäÖеĴúÂë. Èç¹ûforkʧ°Ü,µ±È»ÊÇ·µ»Ø-1,´ËʱÊÇûÓÐ×Ó½ø³ÌµÄ.
ÐèҪעÒâµÄÊÇ£¬¿ÉÒÔͨ¹ýgetpid() ºÍgetppid()»ñÈ¡×Ô¼ºµÄ½ø³ÌºÍ¸¸½ø³ÌµÄpid; forkÖ®ºóÊǸ¸½ø³ÌÏÈÖ´Ðл¹ÊÇ×Ó½ø³ÌÏÈÖ´ÐУ¬ÕâÊÇÈ¡¾öÓÚcpuµ÷ÓÃËã·¨µÄ£¬¾ÍÊÇ˵ËûÃÇËÏÈÖ´Ðж¼ÓпÉÄÜ¡£
ÏÂÃæÔÙÌṩһЩÀý×Ó£¬¹©´ó¼Ò˼¿¼£¬ÉîÈëÀí½âfork¡£
1.±àдһ¶Î³ÌÐò£¬Ê¹ÓÃϵͳµ÷ÓÃfork£¨£
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
linuxϵÄlddÃüÁî(ת)
1¡¢Ê×ÏÈldd²»ÊÇÒ»¸ö¿ÉÖ´ÐгÌÐò£¬¶øÖ»ÊÇÒ»¸öshell½Å±¾
2¡¢lddÄܹ»ÏÔʾ¿ÉÖ´ÐÐÄ£¿éµÄdependency£¬ÆäÔÀíÊÇͨ¹ýÉèÖÃһϵÁеĻ·¾³±äÁ¿£¬ÈçÏ£º LD_TRACE_LOADED_OBJECTS¡¢LD_WARN¡¢LD_BIND_NOW¡¢LD_LIBRARY_VERSION¡¢ LD_VERBOSEµÈ¡£µ±LD_TRACE_LOADED_OBJECTS»·¾³±äÁ¿²»Îª¿Õʱ£¬ÈκοÉÖ´ÐгÌÐòÔÚÔËÐÐʱ ......
LinuxµÄĿ¼½á¹¹ etc: ÅäÖÃÎļþ£¬Èçinittab
proc: procÎļþϵͳ£¬ÏµÍ³ÔËÐйý³ÌÓ³É䣬½ø³ÌÓ³Éä
É豸Çý¶¯µÄÁ½ÖÖ·½Ê½£º Ö±½Ó±àÒë½øÄںˣ»ÒÔmodule²åÈë
PCµÄLinuxÆô¶¯£ºBIOS->GRUB->KERNEL
SHELL±à³Ì
Ï൱ÓÚDOSµÄÅú´¦Àí,¿É ......
TIMER_INITIALIZER£¨£©£º
1):TIMER_INITIALIZER£¨£©ÓÃÀ´ÉùÃ÷Ò»¸ö¶¨Ê±Æ÷£¬ËüµÄ¶¨ÒåÈçÏ£º
#define TIMER_INITIALIZER(_function, _expires, _data) { \
.function = (_fun ......
d Ŀ¼
l ·ûºÅÁ´½Ó(Ö¸ÏòÁíÒ»¸öÎļþ)
s Ì×½Ó×ÖÎļþ
b ¿éÉ豸Îļþ
c ×Ö·ûÉ豸Îļþ
p ÃüÃû¹ÜµÀÎļþ
- ÆÕͨÎļþ£¬»òÕ߸ü׼ȷµØËµ²»ÊôÓÚÒÔÉϼ¸ÖÖÀàÐ͵ÄÎļþ
-------------------------------------------------------------
ÎļþȨÏÞ
r´ú±í¿É¶Á
w´ú±í¿Éд
x´ú±í¿ÉÔËÐÐ µ ......