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£¨£
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
Linux½ø³Ì²é¿´
×ªÔØ×Ô http://www.cnblogs.com/starspace/archive/2008/10/17/1313246.html
¡¡¡¡linuxÊǸö¶àÓû§ÏµÍ³£¬ÓÐʱºòÒ²ÒªÁ˽âÆäËûÓû§ÏÖÔÚÔÚ¸Éʲô£¬ËùÒÔÔÚ±¾½ÚÖл¹½«½Ó´¥¶àÓû§·½ÃæµÄÈÝ¡£Í¬Ê±LinuxÊÇÒ»¸ö¶à½ø³Ìϵͳ£¬¾³£ÐèÒª¶ÔÕâЩ½ø³Ì½øÐÐһЩµ÷ÅäºÍ¹ÜÀí£»¶øÒª½øÐйÜÀí£¬Ê×ÏȾÍÒªÖªÏÖÔڵĽø³ÌÇé¿ ......
LinuxµÄĿ¼½á¹¹ etc: ÅäÖÃÎļþ£¬Èçinittab
proc: procÎļþϵͳ£¬ÏµÍ³ÔËÐйý³ÌÓ³É䣬½ø³ÌÓ³Éä
É豸Çý¶¯µÄÁ½ÖÖ·½Ê½£º Ö±½Ó±àÒë½øÄںˣ»ÒÔmodule²åÈë
PCµÄLinuxÆô¶¯£ºBIOS->GRUB->KERNEL
SHELL±à³Ì
Ï൱ÓÚDOSµÄÅú´¦Àí,¿É ......
Windows ÏÂÖ±½ÓÔËÐÐ LinuxµÄLive CD°æµÄ·½·¨
Ò»¸öżȻµÄ»ú»á,ÎÒ·¢ÏÖ.Live CD °æµÄLinux¿ÉÒÔ½èÖú qumeÔÚWindowsÏÂÖ±½ÓÔËÐÐ;·½·¨ÊÇÏÂÔØlinux-tr127 ÏÂÔØµØÖ·http://www.orsoon.com/down.asp?id=1372&downid=8
ʵ
¼ÊÉÏÕâ¸öÈí¼þ°üÊÇÓÉtr127 ÓÃqumeÕâ¸öÐéÄâ»úÖÆ×÷µÄ¿ÉÔÚWindowsÏÂÔËÐеÄÐé ......
¾ÙÀýÀ´Ëµ£¬Ó²Å̵ÄÎļþÃû³Æ¼´Îª /dev/hd[a-d] £¬ÆäÖУ¬ À¨ºÅÄÚµÄ×ÖĸΪ a-d µ±ÖеÄÈκÎÒ»¸ö£¬Ò༴ÓÉ /dev/hda, /dev/hdb, /dev/hdc, ¼° /dev/hdd ÕâËĸöµµ°¸µÄÒâ˼ (×¢£ºÕâÖÖÐÍʽµÄ±íʾ·¨ÔÚºóÃæµÄÕ½ڵ±ÖлáʹÓÃµÃºÜÆµ·±£¬ÇëÌØ±ðÁôÒâ)¡£ ÄÇô¹âÇýÓëÈíÅÌÄØ£¿·Ö±ðÊÇ /dev/cdrom, /dev/fd0 啰£¡ ºÃÁË£¬ÆäËüµÄ½Ó¿ÚÉè±¸ÄØ£¿ ......