Linux Deamon(ÊØ»¤½ø³Ì)ʵÏÖ·½·¨
from: http://agiser.bokee.com/viewdiary.13976981.html
ÊØ»¤½ø³Ì£¨Daemon£©ÊÇÔËÐÐÔÚºǫ́µÄÒ»ÖÖÌØÊâ½ø³Ì¡£Ëü¶ÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµØÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ¡£ÊØ»¤½ø³ÌÊÇÒ»ÖÖºÜÓÐÓõĽø
³Ì¡£
LinuxµÄ´ó¶àÊý·þÎñÆ÷¾ÍÊÇÓÃÊØ»¤½ø³ÌʵÏֵġ£±ÈÈ磬Internet·þÎñÆ÷inetd£¬Web·þÎñÆ÷httpdµÈ¡£Í¬Ê±£¬ÊØ»¤½ø³ÌÍê³ÉÐí¶àϵͳÈÎÎñ¡£
±ÈÈ磬×÷Òµ¹æ»®½ø³Ìcrond£¬´òÓ¡½ø³ÌlpdµÈ¡£
ÊØ»¤½ø³ÌµÄ±à³Ì±¾Éí²¢²»¸´ÔÓ£¬¸´ÔÓµÄÊǸ÷ÖÖ°æ±¾µÄUnixµÄʵÏÖ»úÖÆ²»¾¡Ïàͬ£¬Ôì³É²»Í¬
Unix»·¾³ÏÂÊØ»¤½ø³ÌµÄ±à³Ì¹æÔò²¢²»Ò»Ö¡£ÐèҪעÒ⣬ÕÕ°áijЩÊéÉϵĹæÔò£¨ÌرðÊÇBSD4.3ºÍµÍ°æ±¾µÄSystem
V£©µ½Linux»á³öÏÖ´íÎóµÄ¡£ÏÂÃæ½«¸ø³öLinuxÏÂÊØ»¤½ø³ÌµÄ±à³ÌÒªµãºÍÏêϸʵÀý¡£
Ò»£® ÊØ»¤½ø³Ì¼°ÆäÌØÐÔ
ÊØ»¤½ø³Ì×îÖØÒªµÄÌØÐÔÊǺǫ́ÔËÐС£ÔÚÕâÒ»µãÉÏDOSϵij£×¤ÄÚ´æ³ÌÐòTSRÓëÖ®ÏàËÆ¡£Æä´Î£¬ÊØ»¤½ø³Ì±ØÐëÓëÆäÔËÐÐǰµÄ»·¾³¸ôÀ뿪À´¡£ÕâЩ»·¾³°üÀ¨Î´
¹Ø±ÕµÄÎļþÃèÊö·û£¬¿ØÖÆÖÕ¶Ë£¬»á»°ºÍ½ø³Ì×飬¹¤×÷Ŀ¼ÒÔ¼°Îļþ´´½¨ÑÚÄ£µÈ¡£ÕâЩ»·¾³Í¨³£ÊÇÊØ»¤½ø³Ì´ÓÖ´ÐÐËüµÄ¸¸½ø³Ì£¨ÌرðÊÇshell£©Öм̳ÐÏÂÀ´µÄ¡£×î
ºó£¬ÊØ»¤½ø³ÌµÄÆô¶¯·½Ê½ÓÐÆäÌØÊâÖ®´¦¡£Ëü¿ÉÒÔÔÚLinuxϵͳÆô¶¯Ê±´ÓÆô¶¯½Å±¾/etc/rc.dÖÐÆô¶¯£¬¿ÉÒÔÓÉ×÷Òµ¹æ»®½ø³ÌcrondÆô¶¯£¬»¹¿ÉÒÔÓÉÓÃ
»§ÖÕ¶Ë£¨Í¨³£ÊÇ shell£©Ö´ÐС£
×ÜÖ®£¬³ý¿ªÕâÐ©ÌØÊâÐÔÒÔÍâ£¬ÊØ»¤½ø³ÌÓëÆÕͨ½ø³Ì»ù±¾ÉÏûÓÐÊ²Ã´Çø±ð¡£Òò´Ë£¬±àÐ´ÊØ»¤½ø³Ìʵ¼ÊÉÏÊǰÑÒ»¸öÆÕͨ½ø³Ì°´ÕÕÉÏÊöµÄÊØ»¤½ø³ÌµÄÌØÐÔ¸ÄÔì³ÉÎªÊØ»¤½ø³Ì¡£Èç¹û¶Ô½ø³ÌÓбȽÏÉîÈëµÄÈÏʶ¾Í¸üÈÝÒ×Àí½âºÍ±à³ÌÁË¡£
¶þ£® ÊØ»¤½ø³ÌµÄ±à³ÌÒªµã
Ç°Ãæ½²¹ý£¬²»Í¬Unix»·¾³ÏÂÊØ»¤½ø³ÌµÄ±à³Ì¹æÔò²¢²»Ò»Ö¡£ËùÐÒµÄÊÇÊØ»¤½ø³ÌµÄ±à³ÌÔÔòÆäʵ¶¼Ò»Ñù£¬Çø±ðÔÚÓÚ¾ßÌåµÄʵÏÖϸ½Ú²»Í¬¡£Õâ¸öÔÔò¾ÍÊÇÒªÂú
×ãÊØ»¤½ø³ÌµÄÌØÐÔ¡£Í¬Ê±£¬LinuxÊÇ»ùÓÚSyetem VµÄSVR4²¢×ñÑPosix±ê×¼£¬ÊµÏÖÆðÀ´ÓëBSD4Ïà±È¸ü·½±ã¡£±à³ÌÒªµãÈçÏ£»
1. ÔÚºǫ́ÔËÐС£
Ϊ±ÜÃâ¹ÒÆð¿ØÖÆÖն˽«Daemon·ÅÈëºǫִ́ÐС£·½·¨ÊÇÔÚ½ø³ÌÖе÷ÓÃforkʹ¸¸½ø³ÌÖÕÖ¹£¬ÈÃDaemonÔÚ×Ó½ø³ÌÖкǫִ́ÐС£
if(pid=fork())
exit(0); //ÊǸ¸½ø³Ì£¬½áÊø¸¸½ø³Ì£¬×Ó½ø³Ì¼ÌÐø
2. ÍÑÀë¿ØÖÆÖÕ¶Ë£¬µÇ¼»á»°ºÍ½ø³Ì×é
ÓбØÒªÏȽéÉÜÒ»ÏÂLinuxÖеĽø³ÌÓë¿ØÖÆÖÕ¶Ë£¬µÇ¼»á»°ºÍ½ø³Ì×éÖ®¼äµÄ¹ØÏµ£º½ø³ÌÊôÓÚÒ»¸ö½ø³Ì×飬½ø³Ì×éºÅ£¨GID£©¾ÍÊǽø³Ì×鳤µÄ½ø³ÌºÅ
£¨PID£©¡£µÇ¼»á»°¿ÉÒÔ°üº¬¶à¸ö½ø³Ì×é¡£ÕâЩ½ø³Ì×é¹²ÏíÒ»¸ö¿ØÖÆÖÕ¶Ë¡£Õâ¸ö¿ØÖÆÖÕ¶Ëͨ³£ÊÇ´´½¨½ø³ÌµÄµÇ¼ÖÕ¶Ë¡£¿ØÖÆÖÕ¶Ë£¬
Ïà¹ØÎĵµ£º
¡¡Ò»¡¢ÒýÑÔ
¡¡¡¡ÏëʹÓÃLinuxÒѾºÜ³¤Ê±¼äÁË£¬ÓÉÓÚûÓÐÓ²ÐÔÈÎÎñһֱҲûÓÐϵͳѧϰ£¬½üÈÕÓÉÓÚ¹¤×÷ÐèÒª±ØÐëʹÓÃLinuxϵÄMySQL¡£±¾ÒÔΪÓÐ
WindowsÏÂʹÓÃSQL
ServerµÄ¾Ñ飬¾õµÃÔÚLinuxϰ²×°MySqlÓ¦¸ÃÊÇÒ×Èç·´ÕÆµÄÊ£¬¿ÉÔÚÕæÕý°²×°ºÍʹÓÃMySQLʱ×ßÁ˺ܶàÍä·£¬Óö¼ûºÜ¶àÎÊÌ⣬±Ï¾¹Linux
ºÍWindows±¾Éí¾ÍÓкܴóÇø±ð¡£ÎªÁËÈà ......
Æô¶¯mysql: /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼: mysql -u root -p
ÏÔʾÊý¾Ý¿â: show databases;
Ñ¡ÔñÊý¾Ý¿â: use Êý¾Ý¿âÃû;
ÏÔʾ±í: show tables;
ÏÔʾ±í½á¹¹: descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......
¿ÉÒÔÓÃÏÂÃæµÄÃüÁî²éÕÒµ½ÏµÍ³ÖÐÄÄÒ»¸öÎļþ¼ÐÓÐÎÊÌâÈ»ºóÖð²ã²é¿´¾Í¿ÉÒÔÕÒµ½ÊÇÄÄÒ»¸öÎļþÁË
ÃüÁîÊÇ
Ê×ÏÈÇл»µ½¸ùĿ¼
cd /
du -sh ./*
du -sh ./* | sort
È»ºóÕÒµ½×î´óµÄÎļþ¼Ð
Öð²ã¾Í¿ÉÒÔÕÒµ½ÊÇÄÄÒ»¸öÎļþ¼Ð×î´óÊÇ·ñÊÇÓÐÎÊÌâµÄ
Ò»°ãÕâÑù¾Í¿ÉÒÔÈ·¶¨Ä¿±êÎļþÊÇÄÄÒ»¸öÁË ......
ÕâÀïÖ»Áоټ¸¸ö±È½ÏÂé·³µÄÊý¾Ý½á¹¹
struct list_head {
struct list_head *next, *prev;
} //linuxͨÓõÄË«ÏòÁ´¶ÓÁУ¬ÏÂÃæ¶à´¦Óõ½£¬ÕâÀïÁгöÔ´´úÂë
linux¶ÔÄÚ´æÔÙÓÃҳʽ¹ÜÀí£¬¶ÔÓÚÒ³£¬¾ÍÓиöÊý¾Ý½á¹¹page¼ÓÒÔÃèÊö¡£ÔÚÄÚºËÖÐÓиöÈ«¾ÖÁ¿mem-mapÖ¸ÏòµÄÊÇÒ»¸öpageµÄÊý×飬Õû¸öÊý×éÃèÊöÁËÕû¸öÎïÀíÄڴ棬 ......
Linux
ÏÂͨÓÃÏ̳߳صĴ´½¨ÓëʹÓÃ
±¾
Îĸø³öÁËÒ»¸öͨÓõÄÏ̳߳ؿò¼Ü£¬¸Ã¿ò¼Ü½«ÓëÏß³ÌÖ´ÐÐÏà¹ØµÄÈÎÎñ½øÐÐÁ˸߲ã´ÎµÄ³éÏó£¬Ê¹Ö®Óë¾ßÌåµÄÖ´ÐÐÈÎÎñÎ޹ء£ÁíÍâ¸ÃÏ̳߳ؾßÓж¯Ì¬ÉìËõÐÔ£¬ËüÄܸù¾ÝÖ´ÐÐ
ÈÎÎñµÄÇáÖØ×Ô¶¯µ÷ÕûÏ̳߳ØÖÐÏ̵߳ÄÊýÁ¿¡£ÎÄÕµÄ×îºó£¬ÎÒÃǸø³öÒ»¸ö¼òµ¥Ê¾Àý³ÌÐò£¬Í¨¹ý¸ÃʾÀý³ÌÐò£¬ÎÒÃǻᷢÏÖ£¬Í¨¹ý¸ÃÏ̳߳ؿ ......