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
Ïà¹ØÎĵµ£º
1£¬Ê×ÏÈSERVERÓëCLIENT¶¼ÐèÒª°²×°RSYNC
2£¬Æä´ÎÔÚSERVERµÄ/etc/ÏÂÃæ½¨Á¢rsyncd.conf
ÄÚÈÝ¿ÉÒÔ°´ÕÕÏÂÃæµÄд·¨
[root@vm-base-01 local]# more /etc/rsyncd.conf
uid =
root &n ......
Ò»¡¢Qt3/EmbeddedµÄÊäÈëÉ豸µÄÇý¶¯½Ó¿ÚʵÏÖÔÀí·ÖÎö
1¡¢Qt3/Embedded°ÑÓëµ×²ãÓ²¼þÏà¹ØµÄÔ´Îļþͳһ·ÅÔÚsrc/embeddedĿ¼Ï£¬ËùÒÔÎÒÃÇ×îºÃÒ²°Ñ×Ô¼ºµÄÉ豸Çý¶¯½Ó¿ÚÎļþ·Åµ½´ËĿ¼¡£
2¡¢Qt/EmbeddedÖеÄÊäÈëÉ豸·ÖΪÊó±êÀàÓë¼üÅÌÀà¡£ÔÚ3.x°æ±¾ÏµÁÐÖУ¬Êó±êÉ豸µÄ³éÏó»ùÀàΪQWSMouseHandler£¬ÔÚsr ......
ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®
ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º
£¨1£© ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔÀí£¨³õ²½¶¨Îªarm9£©
£¨2£© ±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ £¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£©
£¨3£© ±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ ......
ÍøÉϹØÓÚfork()ÎÄÕ¶¼Ëµfork()À´´´½¨×Ó½ø³Ì,ÀûÓ÷µ»ØÖµµÄ²»Í¬À´Ö´Ðв»Í¬µÄ´úÂð¶Î.µ«¶¼Ã»ÓÐ˵µ½ÈçºÎʵÏÖ²»Í¬µÄ·µ»ØÖµ.ÏÂÃæÎÒ½«ºÍÄãÀ´ËµËµÕâ¸öÎÊ題:
¿¼ÂÇÈçÏ´úÂë:
int &nb ......
Linux¶à½ø³ÌÏà¹ØÄÚÈÝ
°æÈ¨ÉùÃ÷£º¿ÉÒÔÈÎÒâ×ªÔØ£¬µ«×ªÔØÊ±±ØÐë±êÃ÷Ô×÷Õßcharlee¡¢ÔʼÁ´½Óhttp://tech.idv2.com/2006/10/14/linux-multiprocess-info/ÒÔ¼°±¾ÉùÃ÷¡£
×î½üÔÚÓà perl дһ¸öLinuxÏÂµÄ¶à½ø³ÌÊØ»¤½ø³Ì£¬Òò´ËÑо¿ÁËÒ»ÏÂLinuxϵĽø³ÌÏà¹ØµÄ֪ʶ¡£ÏÖ½«ÐĵÃ×ܽáһϡ£Ö÷ÒªÊǹØÓÚ½ø³Ì´´½¨ºÍ»ØÊÕ¡£
fork
SIGCHLDÐÅ ......