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

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£¨£


Ïà¹ØÎĵµ£º

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

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

linuxϵÄlddÃüÁî(ת)

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ѧϰ±Ê¼Ç


LinuxµÄĿ¼½á¹¹    etc: ÅäÖÃÎļþ£¬Èçinittab
    proc: procÎļþϵͳ£¬ÏµÍ³ÔËÐйý³ÌÓ³É䣬½ø³ÌÓ³Éä
    É豸Çý¶¯µÄÁ½ÖÖ·½Ê½£º Ö±½Ó±àÒë½øÄںˣ»ÒÔmodule²åÈë
PCµÄLinuxÆô¶¯£ºBIOS->GRUB->KERNEL
SHELL±à³Ì
   Ï൱ÓÚDOSµÄÅú´¦Àí,¿É ......

linux 2.6.23ʱÖÓÖжÏÓëµ÷¶È·ÖÎö(4)

TIMER_INITIALIZER£¨£©£º
1):TIMER_INITIALIZER£¨£©ÓÃÀ´ÉùÃ÷Ò»¸ö¶¨Ê±Æ÷£¬ËüµÄ¶¨ÒåÈçÏ£º
#define TIMER_INITIALIZER(_function, _expires, _data) {         \
                .function = (_fun ......

LINUX»ù´¡ÖªÊ¶

d Ŀ¼
l ·ûºÅÁ´½Ó(Ö¸ÏòÁíÒ»¸öÎļþ)
s Ì×½Ó×ÖÎļþ
b ¿éÉ豸Îļþ
c ×Ö·ûÉ豸Îļþ
p ÃüÃû¹ÜµÀÎļþ
- ÆÕͨÎļþ£¬»òÕ߸ü׼ȷµØËµ²»ÊôÓÚÒÔÉϼ¸ÖÖÀàÐ͵ÄÎļþ
-------------------------------------------------------------
ÎļþȨÏÞ
r´ú±í¿É¶Á
w´ú±í¿Éд
x´ú±í¿ÉÔËÐÐ µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ