Linux ÊØ»¤½ø³ÌµÄ±à³Ì·½·¨
Linux·þÎñÆ÷ÔÚÆô¶¯Ê±ÐèÒªÆô¶¯ºÜ¶àϵͳ·þÎñ£¬ËüÃÇÏò±¾µØºÍÍøÂçÓû§ÌṩÁËLinuxµÄϵͳ¹¦Äܽӿڣ¬Ö±½ÓÃæÏòÓ¦ÓóÌÐòºÍÓû§¡£ÌṩÕâЩ·þÎñµÄ³ÌÐòÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤½ø³Ì£¨daemons£©À´Ö´Ðеġ£ÊØ»¤½ø³ÌÊÇÉú´æÆÚ³¤µÄÒ»ÖÖ½ø³Ì£¬ËüÃǶÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµÄÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ£¬ËüΨһ½ÓÊܵÄÃüÁî¾ÍÊÇËüÉè¼Æʱºò¹æ¶¨ÒªÆË×½µÄÐźš£
ÊØ»¤½ø³Ì³£³£ÔÚϵͳÒýµ¼×°ÈëʱÆô¶¯£¬ÔÚϵͳ¹Ø±ÕʱÖÕÖ¹¡£linuxϵͳÓкܶàÊØ»¤½ø³Ì£¬´ó¶àÊý·þÎñÆ÷¶¼ÊÇÓÃÊØ»¤½ø³ÌʵÏֵġ£±ÈÈ磬×÷Òµ¹æ»®½ø³Ìcrond¡¢´òÓ¡½ø³ÌlqdµÈ¡£²é¿´ÏµÍ³¿ÉÒÔÌṩµÄÊØ»¤½ø³Ì¶ÔÓ¦µÄ·þÎñ£¬Ê¹ÓÃÏÂÃæ·½·¨£¬ÒÔrootȨÏÞÔËÐУº pstree¡£
£¨1£©ÌØÐÔ£ºÊØ»¤½ø³Ì×îÖØÒªµÄÌØÐÔÊǺǫ́ÔËÐС£ÔÚÕâÒ»µãÉÏDOSϵij£×¤ÄÚ´æ³ÌÐòTSRÓëÖ®ÏàËÆ¡£Æä´Î£¬ÊØ»¤½ø³Ì±ØÐëÓëÆäÔËÐÐÇ°µÄ»·¾³¸ôÀ뿪À´¡£ÕâЩ»·¾³°üÀ¨Î´¹Ø±ÕµÄÎļþÃèÊö·û£¬¿ØÖÆÖնˣ¬»á»°ºÍ½ø³Ì×飬¹¤×÷Ŀ¼ÒÔ¼°Îļþ´´½¨ÑÚÄ£µÈ¡£ÕâЩ»·¾³Í¨³£ÊÇÊØ»¤½ø³Ì´ÓÖ´ÐÐËüµÄ¸¸½ø³Ì£¨ÌرðÊÇshell£©Öм̳ÐÏÂÀ´µÄ¡£×îºó£¬ÊØ»¤½ø³ÌµÄÆô¶¯·½Ê½ÓÐÆäÌØÊâÖ®´¦¡£Ëü¿ÉÒÔÔÚLinuxϵͳÆô¶¯Ê±´ÓÆô¶¯½Å±¾/etc/rc.dÖÐÆô¶¯£¬¿ÉÒÔÓÉ×÷Òµ¹æ»®½ø³ÌcrondÆô¶¯£¬»¹¿ÉÒÔÓÉÓû§Öնˣ¨Í¨³£ÊÇshell£©Ö´ÐС£×ÜÖ®£¬³ý¿ªÕâЩÌØÊâÐÔÒÔÍ⣬ÊØ»¤½ø³ÌÓëÆÕͨ½ø³Ì»ù±¾ÉÏûÓÐʲôÇø±ð¡£
£¨2£©ÊØ»¤½ø³ÌµÄ±à³ÌÒªµã£º
1. ÔÚºǫ́ÔËÐС£
Ϊ±ÜÃâ¹ÒÆð¿ØÖÆÖն˽«Daemon·ÅÈëºǫִ́ÐС£·½·¨ÊÇÔÚ½ø³ÌÖе÷ÓÃforkʹ¸¸½ø³ÌÖÕÖ¹£¬ÈÃDaemonÔÚ×Ó½ø³ÌÖкǫִ́ÐС£ if(pid=fork()) exit(0);//ÊǸ¸½ø³Ì£¬½áÊø¸¸½ø³Ì£¬×Ó½ø³Ì¼ÌÐø
2. ÍÑÀë¿ØÖÆÖնˣ¬µÇ¼»á»°ºÍ½ø³Ì×é¡£
ÓбØÒªÏȽéÉÜÒ»ÏÂLinuxÖеĽø³ÌÓë¿ØÖÆÖնˣ¬µÇ¼»á»°ºÍ½ø³Ì×éÖ®¼äµÄ¹Øϵ£º½ø³ÌÊôÓÚÒ»¸ö½ø³Ì×飬½ø³Ì×éºÅ£¨GID£©¾ÍÊǽø³Ì×鳤µÄ½ø³ÌºÅ£¨PID£©¡£µÇ¼»á»°¿ÉÒÔ°üº¬¶à¸ö½ø³Ì×é¡£ÕâЩ½ø³Ì×é¹²ÏíÒ»¸ö¿ØÖÆÖնˡ£Õâ¸ö¿ØÖÆÖÕ¶Ëͨ³£ÊÇ´´½¨½ø³ÌµÄµÇ¼Öնˡ£
¿ØÖÆÖնˣ¬µÇ¼»á»°ºÍ½ø³Ì×éͨ³£ÊÇ´Ó¸¸½ø³Ì¼Ì³ÐÏÂÀ´µÄ¡£ÎÒÃǵÄÄ¿µÄ¾ÍÊÇÒª°ÚÍÑËüÃÇ£¬Ê¹Ö®²»ÊÜËüÃǵÄÓ°Ïì¡£·½·¨ÊÇÔÚµÚ1µãµÄ»ù´¡ÉÏ£¬µ÷ÓÃsetsid()ʹ½ø³Ì³ÉΪ»á»°×鳤£º
setsid();
˵Ã÷£ºµ±½ø³ÌÊǻỰ×鳤ʱsetsid()µ÷ÓÃʧ°Ü¡£µ«µÚÒ»µãÒѾ±£Ö¤½ø³Ì²»ÊǻỰ×鳤¡£setsid()µ÷Óóɹ¦ºó£¬½ø³Ì³ÉΪеĻỰ×鳤ºÍеĽø³Ì×鳤£¬²¢ÓëÔÀ´µÄµÇ¼»á»°ºÍ½ø³Ì×éÍÑÀë¡£ÓÉÓڻỰ¹ý³Ì¶Ô¿ØÖÆÖն˵ĶÀÕ¼ÐÔ£¬½ø³ÌͬʱÓë¿ØÖÆÖÕ¶ËÍÑÀ
Ïà¹ØÎĵµ£º
sock_rawÔʼÌ×½Ó×Ö±à³Ì¿ÉÒÔ½ÓÊÕµ½±¾»úÍø¿¨ÉϵÄÊý¾ÝÖ¡»òÕßÊý¾Ý°ü,¶ÔÓë¼àÌýÍøÂçµÄÁ÷Á¿ºÍ·ÖÎöÊǺÜÓÐ×÷ÓõÄ.Ò»¹²¿ÉÒÔÓÐ3ÖÖ·½Ê½´´½¨ÕâÖÖsocket
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)·¢ËͽÓÊÕipÊý¾Ý°ü
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))·¢ËͽÓÊÕÒÔÌ« ......
LinuxÉ豸Çý¶¯±à³ÌÖ®¶¨Ê±Æ÷
2006-10-26 13:34
×÷Õߣº
³ö´¦£ºLinux
ÔðÈα༣º·½ÖÛ
Ïà¹ØרÌ⣺
LinuxÉ豸Çý¶¯³ÌÐò¿ª·¢ÈëÃÅ
¡¡¡¡LinuxÄÚºËÖж¨ÒåÁËÒ»¸ötimer_list½á¹¹£¬ÎÒÃÇÔÚÇý¶¯³ÌÐòÖпÉÒÔÀûÓÃÖ®£º
struct timer_list {
¡¡struct list_head list;
¡¡unsigned long expires; //¶¨Ê±Æ÷µ½ÆÚ ......
ʹÓÃTAB¼ü
ÓÃÊó±ê¿½±´ºÍÕ³ÌùÌá¸ß²Ù×÷ËÙ¶È ×ó¼üÍ϶¯---¿½±´ Öмüµã»÷---Õ³Ìù
1¡¢mkdir ½¨Á¢ÐÂĿ¼Ãû ¼Ó“." ÔÚĿ¼ÃûǰΪÒþ²ØĿ¼£¨ls -a¿É²é¿´£©
rm -rf Ŀ¼Ãû ɾ³ýĿ¼¼°×ÓĿ¼ rm -- -eeɾ³ý-eeÎļþ »òÕß rm "ÎļþÃû"
2¡¢m ......
umask()º¯Êý£º´Ëº¯ÊýµÄÖ÷Òª×÷ÓÃÊÇÔÚ´´½¨ÎļþʱÉèÖûòÕßÆÁ±ÎµôÎļþµÄһЩȨÏÞ¡£Ò»°ãÓëopen()º¯ÊýÅäºÏʹÓá£openº¯ÊýÔÐÍ£º
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......
Fedora 8.0(linux)ÓÃRPM°²×°gcc
Ç°Ò»Õó×°ÁËÒ»¸öFedora 8.0£¬¾ÓÈ»½«gccÑ¡Ïîûѡ£¬ÏÖÔÚÏëÔÚLinux»·¾³Ïµ÷ÊÔc³ÌÐò£¬Ö»ÓÐÔÙ°²×°gcc±àÒëÆ÷¡£ÔÚFedora 8.0°²×°µÄÔ´ÎļþÖУ¬ÕÒµ½PackageÎļþ¼Ð£¬ÀïÃæ°²×°gcc±àÒëÆ÷µÄÎļþ£¬Fedora 8.0µÄgcc ÊÇversion 4.12 £¨20070925£©¡£
°²×°Ë³Ðò:
£¨1£©rpm -ivh kernheaders-2.6 ......