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

linuxÖеÄÊØ»¤½ø³Ìdaemon


Ò». ÊØ»¤½ø³Ì¼°ÆäÌØÐÔ
(1)×îÖØÒªµÄÌØÕ÷ÊǺǫ́ÔËÐÐ
(2)±ØÐëÓëÔËÐÐǰµÄ»·¾³¸ôÀ뿪À´¡£ÕâЩ»·¾³Í¨³£ÊÇÊØ»¤½ø³Ì´ÓÖ´ÐÐËüµÄ¸¸½ø³ÌÖм̳ÐÏÂÀ´µÄ¡£»·¾³°ü  À¨»¹Î´¹Ø±ÕµÄÎļþÃèÊö·û£¬¿ØÖÆÖÕ¶Ë£¬»á»°ºÍ½ø³Ì×飬¹¤×÷Ŀ¼ÒÔ¼°Îļþ´´½¨ÑÍÄ£µÈ¡£
(3)Æô¶¯·½Ê½¡£¿ÉÒÔÓÉÓû§ÖÕ¶ËÖ´ÐУ¬Ò²¿ÉÒÔ´ÓÆô¶¯½Å±¾/etc/rc.dÖÐÆô¶¯¡£
×ÜÖ®£¬±àÐ´ÊØ»¤½ø³Ìʵ¼ÊÉÏÊǰÑÒ»¸öÆÕͨ½ø³Ì°´ÕÕÉÏÊöµÄÊØ»¤½ø³ÌµÄÌØÐÔ¸ÄÔì³ÉÎªÊØ»¤½ø³Ì¡£
¶þ.ÊØ»¤½ø³ÌµÄ±à³ÌÒªµã
1.ÔÚºǫ́ÔËÐÐ
 Îª±ÜÃâ¹ÒÆð¿ØÖÆÖն˽«daemon·ÅÈëºǫִ́ÐС£·½·¨ÊÇÔÚ½ø³ÌÖе÷ÓÃforkʹ¸¸½ø³ÌÖÕÖ¹£¬ÈÃdaemon ÔÙ×Ó½ø³ÌÖкǫִ́ÐС£
2.ÍÑÀëÖÕ¶Ë¿ØÖÆ£¬µÇÈë»á»°ºÍ½ø³Ì×é
  ÔÚ1µÄ»ù´¡ÉÏ£¬µ÷ÓÃsetsid()ʹµÚÒ»¸ö×Ó½ø³Ì³ÉΪ»á»°×鳤¡£ÓÉÓڻỰ¹ý³Ì¶ÔÖն˵ĶÀÕ¼ÐÔ£¬½ø³ÌͬʱÓë¿ØÖÆÖÕ¶ËÍÑÀë¡£
     setsid();
3.½ûÖ¹½ø³ÌÖØÐ´ò¿ª¿ØÖÆÖÕ¶Ë
¡¡¡¡ÏÖÔÚ£¬½ø³ÌÒѾ­³ÉΪÎÞÖն˵ĻỰ×鳤¡£µ«Ëü¿ÉÒÔÖØÐÂÉêÇë´ò¿ªÒ»¸ö¿ØÖÆÖÕ¶Ë¡£
    ¿ÉÒÔͨ¹ýʹ½ø³Ì²»ÔÙ³ÉΪ»á»°×鳤À´½ûÖ¹½ø³ÌÖØÐ´ò¿ª¿ØÖÆÖÕ¶Ë£º
if(pid=fork())
     exit(0); //½áÊøµÚÒ»×Ó½ø³Ì£¬µÚ¶þ×Ó½ø³Ì¼ÌÐø£¨µÚ¶þ×Ó½ø³Ì²»ÔÙÊǻỰ×鳤£©
4. ¹Ø±Õ´ò¿ªµÄÎļþÃèÊö·û
¡¡¡¡½ø³Ì´Ó´´½¨ËüµÄ¸¸½ø³ÌÄÇÀï¼Ì³ÐÁË´ò¿ªµÄÎļþÃèÊö·û¡£Èç²»¹Ø±Õ£¬½«»áÀË·Ñϵͳ×ÊÔ´£¬
    Ôì³É½ø³ÌËùÔÚµÄÎļþϵͳÎÞ·¨Ð¶ÏÂÒÔ¼°ÒýÆðÎÞ·¨Ô¤ÁϵĴíÎó¡£°´ÈçÏ·½·¨¹Ø±ÕËüÃÇ£º
for(i=0;i ¹Ø±Õ´ò¿ªµÄÎļþÃèÊö·ûclose(i);>
5. ¸Ä±äµ±Ç°¹¤×÷Ŀ¼
¡¡¡¡½ø³Ì»î¶¯Ê±£¬Æä¹¤×÷Ŀ¼ËùÔÚµÄÎļþϵͳ²»ÄÜжÏÂ(¼´Ã¿¸ö½ø³Ì¶¼ÓÉÒ»¸ö¹¤×÷Ŀ¼)¡£Ò»°ãÐèÒª½«¹¤×÷Ŀ¼¸Ä±äµ½¸ùĿ¼¡£
    ¶ÔÓÚÐèҪת´¢ºËÐÄ£¬Ð´ÔËÐÐÈÕÖ¾µÄ½ø³Ì½«¹¤×÷Ŀ¼¸Ä±äµ½Ìض¨Ä¿Â¼Èç /tmpchdir("/")
6. ÖØÉèÎļþ´´½¨ÑÚÄ£
¡¡¡¡½ø³Ì´Ó´´½¨ËüµÄ¸¸½ø³ÌÄÇÀï¼Ì³ÐÁËÎļþ´´½¨ÑÚÄ£¡£Ëü¿ÉÄÜÐÞ¸ÄÊØ»¤½ø³ÌËù´´½¨µÄÎļþµÄ´æÈ¡Î»¡£
    Îª·ÀÖ¹ÕâÒ»µã£¬½«Îļþ´´½¨ÑÚÄ£Çå³ý£ºumask(0);
7. ´¦ÀíSIGCHLDÐźÅ
¡¡¡¡´¦ÀíSIGCHLDÐźŲ¢²»ÊDZØÐëµÄ¡£
    µ«¶ÔÓÚijЩ½ø³Ì£¬ÌرðÊÇ·þÎñÆ÷½ø³ÌÍùÍùÔÚÇëÇóµ½À´Ê±Éú³É×Ó½ø³Ì´¦ÀíÇëÇó¡£
    Èç¹û¸¸½ø³Ì²»µÈ´ý×Ó½ø³Ì½áÊø£¬×Ó½ø³Ì½«³ÉΪ½©Ê¬½ø³Ì£¨zombie£©´Ó¶øÕ¼ÓÃϵͳ×ÊÔ´¡£
    Èç¹û¸¸½ø³ÌµÈ´ý×Ó½ø³Ì½áÊø£¬½«Ôö¼Ó¸¸½ø³ÌµÄ¸ºµ££¬Ó°Ïì·þÎñÆ÷½ø³ÌµÄ²¢·¢ÐÔÄÜ¡£
   &nb


Ïà¹ØÎĵµ£º

linuxµÄfreeÃüÁîÖУ¬cachedºÍbuffersµÄÇø±ð

linuxµÄfreeÃüÁîÖУ¬cachedºÍbuffersµÄÇø±ð
Free
¡¡¡¡free ÃüÁîÏà¶ÔÓÚtop ÌṩÁ˸ü¼ò½àµÄ²é¿´ÏµÍ³ÄÚ´æÊ¹ÓÃÇé¿ö£º
¡¡¡¡$ free
¡¡¡¡total used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000
¡¡¡¡Mem£º±íʾÎïÀíÄÚ´æÍ³¼Æ
¡¡¡¡-/+ buffers/ca ......

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®
ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º 
£¨1£© ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔ­Àí£¨³õ²½¶¨Îªarm9£© 
£¨2£© ±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ £¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£© 
£¨3£© ±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ ......

linux°²×°¡¢Ð¶ÔØÑ¹ËõµÄ³ÌÐò°²×°°ü

Ê×ÏÈÏȽ«Îļþ½âѹËõ£¨ÒÔ.tar.bz2ΪÀý£©£º
tar -xjvf file.tar.bz2
ÆäËûµÄÎļþµÄ½âѹ£¬¿ÉÒԲο¼ÉÏһƪ¹ØÓÚlinuxÏÂѹËõ¡¢½âѹËõÎļþµÄÎÄÕ¡£
È»ºó½øÈëµ½½âѹºóµÄÎļþÀï
cd Ŀ¼
ÔÙ½Ó×ÅÖ´ÐÐ
./configure
ÕâÑù£¬»áÉú³ÉmakefileÎļþ
½Ó׎øÐÐÎļþµÄ±àÒë
make
ÔÙ½Ó×ÅÖ´Ðа²×°
make install
·´Ö®£¬Ð¶ÔؾÍÊÇ
make unin ......

linuxÄÚºËÖеÄHlistÓëList_head½á¹¹

List_Head
²Ù×÷ϵͳÄں˾­³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ­»·Á´±í¡¢Ë«Ïò
Á´±íµÄʵÏÖ¡£ÔÚ
<Linux/list.h>
ÎļþÖж¨ÒåÁËÒ»¸ö
list_head
ÀàÐͼòµ¥½á¹¹£º
struct
list_head {
  

struct list_head *next, *prev;
};
 
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ