Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

linux C gbk utf 8±àÂëת»»

ÓÃlinux C ϵĺ¯Êýµ÷Óô´½¨ÖÐÎÄĿ¼¡¢ÎļþµÈ£¬×Ö·û´®µÄ±àÂë¸ñʽҪÇóÊÇutf-8¸ñʽµÄ¡£
±ÈÈçÏëҪʹÓà int mkdir(const char *pathname, mode_t mode); ´´½¨Ò»¸öÖÐÎĵÄĿ¼¡£ÄÇôpathnameµÄ±àÂë¸ñʽҪÇóÊÇutf-8µÄ£¬¶ø²»ÄÜÊÇgb3212/gbkµÄ£¬·ñÔò¾ÍÊÇÂÒÂë¡£
ÄÇôÈç¹ûlinux CÏÂÈçºÎ½øÐÐgbk<---->utf-8±àÂëת»»µÄ±àÂë×°»»µÄ ......

LinuxÏÂÈí¼þµÄ°²×°ÓëжÔØ£¨×ª£©

ÔÚWindowsÏ°²×°Èí¼þʱ£¬Ö»ÐèÔËÐÐÈí¼þµÄ°²×°³ÌÐò£¨setup¡¢installµÈ£©»òÕßÓÃzipµÈ½âѹËõÈí¼þ½â¿ª¼´¿É°²×°£¬ÔËÐз´°²×°³ÌÐò£¨uninstall¡¢unware¡¢¡°Ð¶ÔØ¡±µÈ£©¾ÍÄܽ«Èí¼þÇå³ý¸É¾»£¬ÍêȫͼÐλ¯µÄ²Ù×÷½çÃ棬¼òµ¥µ½Ö»ÒªÓÃÊó±êÒ»Ö±µã»÷¡°ÏÂÒ»²½¡±¾Í¿ÉÒÔÁË¡£¶øLinuxºÃÏó¾Í²»Ò»ÑùÁË£¬ºÜ¶àµÄ³õѧÕ߶¼±§Ô¹ÔÚLinuxÏ°²×°ºÍжÔØÈí¼þ·Ç³ ......

LINUX»ù´¡ÖªÊ¶

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