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ϲ鿴ÎĵµÄÚÈÝÃüÁî×ܽá
Ö÷ÒªÓÐÈçϼ¸¸öÃüÁ
cat ÓɵÚÒ»ÐпªÊ¼ÏÔʾÎĵµÄÚÈÝ
tac ´Ó×îºóÒ»ÐпªÊ¼ÏÔʾ£¬¿ÉÒÔ¿´³ö tac ÊÇ cat µÄµ¹×Åд
nl ÏÔʾµÄʱºò£¬Ë³µÀÊä³öÐкÅ
more Ò»Ò³Ò»Ò³µÄÏÔʾÎĵµÄÚÈÝ
less& ......
LinuxϵĶàÏ̱߳à³Ì
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Ŷà½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£ ......
°æȨÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈκÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕûתÔØ£¬°üÀ¨ÍêÕûµÄ°æȨÐÅÏ¢ºÍ× ......
Linux´ÅÅÌ´æ´¢Çø¹ÜÀíËãµÄÉÏÒ»¸ö¼¼ÇÉ£¬ºÜ¶àÅóÓÑÔÚÕâÉÏÃæ³£³£ÎÊÎÒ£¬½ñÌìÎҾͰÑÕâ·½ÃæµÄ¶«Î÷»ã×Üһϣ¬´ÓLinuxÌØÓеĽ»»»·ÖÇøµÄÔÀí¿ªÊ¼½éÉÜLinux´ÅÅÌ´æ´¢Çø¹ÜÀíµÄÔÀí¼°¼¼ÇÉ¡£
Linux´ÅÅÌ´æ´¢Çø¹ÜÀíÔÀíƪ
1. ½»»»¿Õ¼äÊÇʲô
Linux ÖÐµÄ ½»»»¿Õ¼ä£¨Swap space£© ÔÚÎïÀíÄڴ棨RAM£©±»³äÂúʱ±»Ê¹Óá£Èç¹ûϵͳÐèÒª¸ü¶àµÄÄÚ´æ×Ê ......
netmask ipµØÖ· broadcast ×ÓÍøÑÚÂë gateway Íø¹Ø dns DNS·þÎñÆ÷
vmwareÈýÖÖÍøÂçÁ¬½ÓÉÏÍøÉèÖãº
²é¿´VMNET1ºÍVMNET8µÄIP£¬Íø¹ØÐÅÏ¢£¬¿ÉÒÔipconfigÃüÁî
1
.ÇŽӷ½Ê½(bridge) :
ĬÈÏʹÓÃvmnet0
½«ÐéÄâ»úµÄipÉèÖÃÓëÖ÷»úͬÍø¶ÎδʹÓÃip,ÆäÓàÓëÖ÷»úÏàͬ:
ipµØÖ·ÓëÖ÷»úͬ¶ÎÏàÒì,
×ÓÍ ......