Linux½©Ê¬½ø³Ì
Ò»¡¢¶¨Ò壺ʲôÊǹ¶ù½ø³ÌºÍ½©Ê¬½ø³Ì
½©Ê¬½ø³Ì£ºÒ»¸ö×Ó½ø³ÌÔÚÆä¸¸½ø³Ì»¹Ã»Óе÷ÓÃwait()»òwaitpid()µÄÇé¿öÏÂÍ˳ö¡£Õâ¸ö×Ó½ø³Ì¾ÍÊǽ©Ê¬½ø³Ì¡£
¹Â¶ù½ø³Ì£ºÒ»¸ö¸¸½ø³ÌÍ˳ö£¬¶øËüµÄÒ»¸ö»ò¶à¸ö×Ó½ø³Ì»¹ÔÚÔËÐУ¬ÄÇôÄÇЩ×Ó½ø³Ì½«³ÉΪ¹Â¶ù½ø³Ì¡£¹Â¶ù½ø³Ì½«±»init½ø³Ì(½ø³ÌºÅΪ1)ËùÊÕÑø£¬²¢ÓÉinit½ø³Ì¶ÔËüÃÇÍê³É״̬ÊÕ¼¯¹¤×÷¡£
ʾÀý:
½©Ê¬½ø³Ì£ºÒ»¸ö×Ó½ø³ÌÔÚÆä¸¸½ø³Ì»¹Ã»Óе÷ÓÃwait()»òwaitpid()µÄÇé¿öÏÂÍ˳ö¡£Õâ¸ö×Ó½ø³Ì¾ÍÊǽ©Ê¬½ø³Ì¡£
¹Â¶ù½ø³Ì£ºÒ»¸ö¸¸½ø³ÌÍ˳ö£¬¶øËüµÄÒ»¸ö»ò¶à¸ö×Ó½ø³Ì»¹ÔÚÔËÐУ¬ÄÇôÄÇЩ×Ó½ø³Ì½«³ÉΪ¹Â¶ù½ø³Ì¡£¹Â¶ù½ø³Ì½«±»init½ø³Ì(½ø³ÌºÅΪ1)ËùÊÕÑø£¬²¢ÓÉinit½ø³Ì¶ÔËüÃÇÍê³É״̬ÊÕ¼¯¹¤×÷¡£
½©Ê¬½ø³Ì½«»áµ¼ÖÂ×ÊÔ´ÀË·Ñ£¬¶ø¹Â¶ùÔò²»»á¡£
×Ó½ø³Ì³ÖÐø10ÃëÖӵĽ©Ê¬×´Ì¬(EXIT_ZOMBIE)
------------------------------------------------------
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
pid_t pid;
pid = fork();
if(pid < 0)
printf("error occurred!\n");
else if(pid == 0) {
printf("Hi father! I'm a ZOMBIE\n");
exit(0); //(1)
}
else {
sleep(10);
wait(NULL); //(2)
}
}
(1) Ïò¸¸½ø³Ì·¢ËÍSIGCHILDÐźÅ
(2) ¸¸½ø³Ì´¦ÀíSIGCHILDÐźÅ
Ö´ÐÐexit()ʱ¸ù¾ÝÆä¸¸½ø³ÌµÄ״̬¾ö¶¨×Ô¼ºµÄ״̬:
Èç¹û¸¸½ø³ÌÒѾÍ˳ö(ûÓÐwait)£¬Ôò¸Ã×Ó½ø³Ì½«»á³ÉΪ¹Â¶ù½ø³Ì¹ý¼Ì¸øinit½ø³Ì
Èç¹ûÆä¸¸½ø³Ì»¹Ã»ÓÐÍ˳ö£¬Ò²Ã»ÓÐwait()£¬ÄÇô¸Ã½ø³Ì½«Ïò¸¸½ø³Ì·¢ËÍSIGCHILDÐźţ¬½øÈ뽩ʬ״̬µÈ´ý¸¸½ø³ÌΪÆäÊÕʬ¡£Èç¹û¸¸½ø³ÌһֱûÓÐÖ´ÐÐwait()£¬ÄÇô¸Ã×Ó½ø³Ì½«»á³ÖÐø´¦ÓÚ½©Ê¬×´Ì¬¡£
×Ó½ø³Ì½«³ÉΪ¹Â¶ù½ø³Ì
------------------------------------------------------
#include <sys/types.h>
#includ
Ïà¹ØÎĵµ£º
ÒòΪ×Ô¼ºµÄɵ£¬ËùÒÔ²ÅÓÐµÄ´ËÆªÈÕÖ¾¡£Ò²ÐíÓÐÈË¿ÉÒÔ·¢ÏÖ£¬ÔÚÎÒ²©¿ÍÉÏÒѾÓÐÆªÃûΪ“LFSÅäÖÃIP¼°°²×°OpenSSH”£¬¶øÔÙдÕâÆªÈÕ¼ÇÊÇÒòΪ×Ô¼ºÔÚLinuxÏÂʹÓÃÁ˹âÅÌÀïµÄOpenSSH£¬È»ºó×°ÉϺóʹÓÃ×Ô¼ºÓ²ÅÌÉϵÄSSHʱÀÏÊÇÌáʾÒѾռÓ㬽á¹û·´¸´×°Á˺ü¸±é²ÅÒâʶµ½Õâ¸öÎÊÌ⣡~Õâ¾ÍºÃ±ÈÒ»¸öÈËÆïÔÚÂíÉÏÊýÂíµÄÊýĿһÑù£¬×ÜÊÇÉÙÒ» ......
Linux 2.6.19.x Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é
×÷Õߣº½ð²½¹ú
°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ ......
1. ²é¿´Äں˰汾ÃüÁ
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat
3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 ......
×î½ü¸Õ½Ó´¥linux £¬¶ÔÕâ¸öϵͳÊÇÒ»µã¶¼²»Á˽⣬µ«ÊÇÓÉÓÚÍøÉÏÏÂÔØµÄ×ÊÔ´¶àÊÇ.rar¸ñʽµÄ£¬ËùÒÔÈçºÎ½âѹÕâ¸öÎļþÊÇÎÒÓöµ½µÄÒ»¸öÄÑÌâ¡£
ÔÚÍøÉÏËÑÁËЩÏà¹Ø·½·¨£¬ÔÎÄÈçÏ£º
LinuxϵͳÖÐrar¡¢unrarÃüÁî°²×°ºÍʹÓÃÏê½â
×÷Õß:Van<hexinghe@hotmail.com>
˵Ã÷£ºÓÉÓÚ±¾ÈËˮƽÓÐÏÞ£¬ÄÑÃâÓдíÎóÖ®´¦¡£»¶Ó×ªÔØ£¬µ«Çë×¢Ã÷×÷ÕßÐ ......
½ñÌ콫¸ÃÊémisc-modules²¿·ÖµÄjiq.c´úÂë×öÁËЩÐ޸ģ¬ÒÔ±£Ö¤Õâ·Ý´úÂëÔÚUBUNTU 9.10 £¦ Linux 2.6.31µÄ»·¾³ÏÂÔËÐС£
¼Ç¼һÏÂÖ÷ÒªµÄÐÞ¸ÄλÖãº
1.config.h
ÐÂÄÚºËÖÐʹÓÃÁËautoconf.h´úÌæconfig.h
2.¹¤×÷¶ÓÁÐ
ÔÚеÄÄÚºËÖÐΪÁ˱ÜÃâ·ÇÑӳٵŤ×÷¶ÓÁÐÖÐtimerµÄ³É±¾£¬½«¹¤×÷¶ÓÁÐÖеÄtimer°þÀë³öÀ´¡£Í¬Ê±ÓÖ¹¹ÔìÁËÑÓ³Ù¹¤×÷¶ÓÁÐ ......