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

linuxϵÄdeamon½ø³Ì

Éè¼ÆÒ»¸ölinuxϵÄdeamon½ø³Ì£¬¹Ø¼üÖ»Óм¸¸ö£º
1.forkÁ½´Î¡£
2.forkµÚÒ»´ÎºÍµÚ¶þ´ÎÖ®¼ä³ÉΪ½ø³Ì×éÍ·¡£
3.¸Ä±ä¹¤×÷Ŀ¼¡£
4.ºöÂÔÐźš£
5.ÉèÖöÁдÑÚÂë¡£
Ò»ÏÂÊÇÒ»¸ö´ÓÍøÂçËѼ¯µ½µÄÀý³Ì£¬·Ç³£ºÃµÄÑÝʾÁËÉÏÊöÒªµã£¬´æ´Ë±¸Íü¡£
#include
#include
#include
#include
void main(int argc, char ** argv)
{
time_t now;
int childpid, fd, fdtablesize;
int error, in, out;
/*ºöÂÔÖÕ¶Ë I/OÐźÅ,STOPÐźÅ*/
signal(SIGTTOU,SIG_IGN);
signal(SIGTTIN,SIG_IGN);
signal(SIGTSTP,SIG_IGN);
signal(SIGHUP,SIG_IGN);
/*¸¸½ø³ÌÍ˳ö£¬³ÌÐò½øÈëºǫ́ÔËÐÐ*/
if( fork()!=0 )
{
exit(1);
}
if( setsid()<0 )
{
exit(1); /*´´½¨Ò»¸öеĻáÒé×é*/
}
/*×Ó½ø³ÌÍ˳ö£¬Ëï½ø³Ìʧȥ¿ØÖÆÖÕ¶ËÁË*/
if( fork()!=0 )
{
exit(1);
}
if( chdir("/tmp")==-1 )
{
exit(1);
}
/*¹Ø±Õ´ò¿ªµÄÎļþÃèÊö·û£¬°üÀ¨±ê×¼ÊäÈë¡¢±ê×¼Êä³öºÍ±ê×¼´íÎóÊä³ö*/
fd=0;
for(fdtablesize=getdtablesize(); fd< fdtablesize;fd++)
{
close(fd);
}
umask(0);/*ÖØÉèÎļþ´´½¨ÑÚÂë*/
signal(SIGCHLD,SIG_IGN);/*ºöÂÔSIGCHLDÐźÅ*/
/*´Ë´¦£¬¿ÉÒÔ×ö×Ô¼ºÏë×öµÄ·þÎñÀý³Ì´úÂë¡£Ò»°ãÊÇÒ»¸öËÀÑ­»·£¬Èç¹ûÒª¿ÉÒÔ¿ØÖƵÄÍ˳öµÄ»°£¬¿ÉÒÔÉèÖûñÈ¡Ðźš£ÏÂÃæÊ¾ÀýÒ»ÏÂÒ»¸öдlogµÄÀý³Ì
*/
/*дlog£¬²âÊÔ½á¹û*/
syslog(LOG_USER|LOG_INFO,"ÊØ»¤½ø³Ì²âÊÔ£¡\n");
while(1)
{
time(&now);
syslog(LOG_USER|LOG_INFO,"µ±Ç°Ê±¼ä£º\t%s\t\t\n",ctime(&now));
sleep(6);
}
}
ÉÏÊö³ÌÐòÔÚgcc4.0.1ϱàÒëͨ¹ý£¬ÔÚfc4-2.6.11ÏÂÎȶ¨ÔËÐС£
syslog½«Á¬½ÓsyslogdÕâ¸ö·þÎñ£¬ÔÚ/var/log/messageÕâ¸öÎļþÀïÃæÊä³öÏûÏ¢£¬ËùÒÔÐèÒªÆô¶¯syslogd·þÎñ¡£·ñÔòÔÚ/var/log/messageÕâ¸öÎļþÀïÃæ²»»áÓÐÏÔʾ¡£


Ïà¹ØÎĵµ£º

linuxÆô¶¯¹ý³ÌdzÎö(3)


ÕâÊDZ¾ÎĵõÚÈý²¿·Ö,ÔÚǰÁ½²¿·ÖÖÐ,ÎÒÒѾ­½²ÊöÁËLinux²Ù×÷ϵͳÊÇÈçºÎ±»»úÆ÷bootµ½,²¢ÇÒloadµ½Öƶ¨µÄÄÚ´æµØÖ·µÄ.ÎÒÃǽ«¼ÌÐøµÚ¶þ²¿·ÖµÄÄÚ
ÈÝ,¿´¿´²Ù×÷ϵͳÔÚÍê³ÉÁËbootsect.sºÍsetup.sµÄÔËÐкó,ÔÚhead.sÖÐ×öÁËЩʲô.
ÈÃÎÒÃÇ»ØÒäÒ»ÏÂ,ÔÚsetup.sÖÐ,ÎÒÃǰÑÕû¸ösystemÄ£¿é´ÓµØÖ·0x10000³öÍùÏÂÒÆ¶¯ÁË0x10000µÄ¾àÀë,Ò²¾ÍÊÇ˵,ÏÖ ......

LinuxÏÂperlÄ£¿éµÄ°²×°

ÏȲο´Ò»ÏÂĿ¼ÏµÄREADMEÎĵµ
Ö÷ÒªÓÐÒÔϼ¸¸ö²½Ö裺
1) perl **.PL  Éú³Émakefile Îļþ
2) make
3) make test (this is optional£¬Èç¹ûÕⲽûɶÎÊÌâ,»áÏÔʾһÇÐok)
4) make install
³öÏÖµÄÎÊÌ⣬¶à¿´ÏÂÌáʾ£¬Ò»°ã¶¼ÊÇȱ°üÉÙ¿â ......

Linux´ÅÅÌ´æ´¢Çø¹ÜÀíµÄÉîÈë½âÎö

Linux´ÅÅÌ´æ´¢Çø¹ÜÀíËãµÄÉÏÒ»¸ö¼¼ÇÉ£¬ºÜ¶àÅóÓÑÔÚÕâÉÏÃæ³£³£ÎÊÎÒ£¬½ñÌìÎҾͰÑÕâ·½ÃæµÄ¶«Î÷»ã×Üһϣ¬´ÓLinuxÌØÓеĽ»»»·ÖÇøµÄÔ­Àí¿ªÊ¼½éÉÜLinux´ÅÅÌ´æ´¢Çø¹ÜÀíµÄÔ­Àí¼°¼¼ÇÉ¡£
Linux´ÅÅÌ´æ´¢Çø¹ÜÀíÔ­ÀíÆª
1. ½»»»¿Õ¼äÊÇʲô
Linux ÖÐµÄ ½»»»¿Õ¼ä£¨Swap space£© ÔÚÎïÀíÄڴ棨RAM£©±»³äÂúʱ±»Ê¹Óá£Èç¹ûϵͳÐèÒª¸ü¶àµÄÄÚ´æ×Ê ......

Linux·þÎñÆ÷½øÐÐÐÔÄÜ¼à¿ØµÄ¼¸ÖÖ·½·¨

Linux·þÎñÆ÷ÐÔÄܼà²âÊǺÜÖØÒªµÄ¹¤×÷£¬·þÎñÆ÷ÔËÐÐÓ¦¸ÃÌṩ×îÓÐЧµÄϵͳÐÔÄÜ¡£µ±·þÎñÆ÷ϵͳÐÔÄÜͻȻµÍÓÚÆ½¾ùÓ¦ÓеÄÇé¿ö£¬ÎÊÌâ¿ÉÄÜÀ´×ÔÔÚÖ´ÐеĽø³Ì¡¢ÄÚ´æµÄʹÓÃÂÊ¡¢´ÅÅ̵ÄÐÔÄÜ¡¢ÍøÂçÁ÷Á¿ºÍCPU µÄѹÁ¦¡£ÔÚÔ¤Ëã¶ÌȱµÄ½ñÌ죬Àí½âÈçºÎÓÅ»¯ÏµÍ³ÐÔÄܱÈÒÔÍùÈκÎʱºò¶¼ÖØÒª¡£ÒªÊµÏÖËüµÄǰÌáÊÇ£¬Äã±ØÐë³ä·ÖÁ˽â×Ô¼ºµÄ¼ÆËã»úºÍÍøÂ磬´Ó¶ ......

Linux³£ÓÃÃüÁîÒ»ÀÀ Gary's Blog

(¼Ó#µÄÃüÁîΪ±ØÐëÔÚ¸ùÓû§È¨ÏÞϲÙ×÷)
Ò»¡¢¹Ø»úÓëÖØÐÂÆô¶¯
1£©#init 0ÖØÆô  #init 6¹Ø»ú£¨¸Ä±äϵͳÔËÐм¶±ðµÄ·½·¨£©
2£©#rebootÖØÆô  #halt¹Ø»ú£¨ÃüÁî·¨£©
3)#showdown -h +5  (5·ÖÖÓºó¹Ø»ú)  #showdown -r +5(5·ÖÖÓºóÖØÆô)
¶þ¡¢³£ÓÃĿ¼²Ù×÷ÃüÁî
1£©ÏÔʾÎļþºÍĿ¼£ºls -a ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ