¹ØÓÚLinuxÖÐ fork(),vfork(),clone()µÄÎÊÌâ
#1 fork()->sys_fork()->do_fork(SIGCHLD,...) SIGCHLDÐźÅÊÇ×Ó½ø³Ì½áÊøÊ±£¬ÏòÄں˷¢Ë͵ÄÐźŠΪʲôÕâÀïµÄclone_flagÒªÓÃSIGCHLD£¿ #2 vfork()->sys_vfork->do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,...) CLONE_VFORK wait for child exit CLONE_VM share same memory space vforkËù´´½¨µÄÊǽø³ÌÑϸñÀ´½²Êǽø³Ì£¬ºÍ¸¸½ø³Ì¹«ÓÃÄÚ´æ¿Õ¼ä£¬²¢ÇÒÖ»Óеȴ˽ø³Ì½áÊøºó£¬¸¸½ø³Ì²ÅÄܹ»¼ÌÐøÔËÐС£ CLONE_VFORKºÍCLONE_VMÒѾÄܹ»´ïµ½´ËЧ¹û£¬ÎªÊ²Ã´»¹ÒªSIGCHLD£¿ clone_flags = regs.ebx; CLONE_IDLETASK½«PIDÉèÖÃΪ0(Ö»¹©idle½ø³ÌʹÓÃ) clone()->sys_clone()->do_fork(clone_flags & ~CLONE_IDLETASK,...); clone_flags & ~CLONE_IDLETASK Õâ¸ö±êÖ¾³¹µ×²»Ã÷°×¡¡
Çë²ÎÕÕ http://hi.baidu.com/printmyheart/blog/item/baaa19099c300d84d0581b83.html µÚÒ»¸öÎÊÌ⣺ SIGCHLDµ±È»ÐèÒªÁË£¬ÒòΪÔÚcopy_processÖÐÒªÉèÖÃexit_signal µÚ¶þ¸öÎÊÌ⣺ 2.6.32µÄÄںˣ¬ÒѾûÓÐCLONE_IDLETASKÁË ÒýÓà µÚÒ»¸öÎÊÌ⣺ SIGCHLDµ±È»ÐèÒªÁË£¬ÒòΪÔÚcopy_processÖÐÒªÉèÖÃexit_signal µÚ¶þ¸öÎÊÌ⣺ 2.6.32µÄÄںˣ¬ÒѾûÓÐCLONE_IDLETASKÁË ÎÒÕÒÁËÏÂ2.6.32µÄprocess.c£¬ÀïÃæ¾ÓȻûÕÒµ½cloneµÄÏà¹Ø·½·¨¡¡ÔõôֻÓÐforkºÍvforkÁË£¿£¿ {{
Ïà¹ØÎÊ´ð£º
ÎÒÖ®Ç°ÖÆ×÷µÄlinux×Ô¶¯°²×°isoÒѾ³É¹¦ÁË£¬ÏÖÔÚÏë¶ÔÆä½øÐÐһЩ¶¨ÖÆÐ޸쬱ÈÈ磬¸ü¸ÄgrubͼƬµÈ¡£ ÎÒÔÚks.cfgµÄ%post¶ÎÀïÃæÊÇÕâÑùдµÄ£º %post --nochroot # Move the contents of the tar into their new locati ......
ÎÒÓÃRPM±¨°²×°ÁËÒ»¸öÀϰ汾µÄJRE£¬ºóÀ´Ïëװа汾µÄ£¬ ²»¹ý£¬ÎÒ°Ñ/usr/javaĿ¼ֱ½Ó¸øÉ¾ÁË£¬ ºóÔÙ°²×°µÄʱºò£¬×ÜÊÇÌáʾ°æ±¾³åÍ»£¬ ¶øÇÒÎÒÓÃRPM°üÐ¶ÔØÊ±Ò²ÕÒ²»µ½ÎļþÁË¡£ ÎÒ¶ÔLINUX²»ÊìϤ£¬Ï£Íû¸ßÊÖ°ïæ¡£ http: ......
Á½¸öÎļþ1.PC£¬1.inc 1.PCÓвÙ×÷oracleÊý¾Ý¿âµÄ ,1.incÒ²ÓвÙ×÷oracleÊý¾Ý¿â ÔÚÆäËûÊý¾ÝÖÐÈçinformix ÖÐ$include 1.inc¾Í¿ÉÒÔʹÓÃÁË ÔÚORACLEÊý¾Ý¿âÖØ $include 1.inc²»¿ÉÓà EXEC SQL include 1.incÒ²²»¿É ......
ÎÒÐèÒªÓõ½ÔÚlinuxÏÂÃæ¶ÁдÅäÖÃÎļþµÄ¿â£¬µ½ÍøÉÏÏÂÁËconfiglib¿â£¬½á¹û±àÒë¿ÉÒÔͨ¹ý£¬Á´½Ó¾ÍÓÐÎÊÌâÁË£¬ÀÏÊdzöÏÖundefined reference to µÄÎÊÌ⣬²éÕâ¸ö¿âµÄʹÓ÷½·¨£¬¶¼Ã»ÓоßÌåµÄ½éÉÜ£¬ÓÐÄÄλÒÔǰÓùýÕâ¸ö¿â»òÕßÀàË ......
ÎÒÔÚÐéÄâ»úÀï°²×°ÁËred hat£¬È»ºóÓÃleapFtp°ÑÎÒµÄjavawebÏîÄ¿´«µ½ÐéÄâ»úÏ£¬ÔÚlinuxÀïÎÒÓ¦¾°²×°ºÃjdkºÍtomcat£¬ÎÒÏëÇë½Ìһϸ÷룬ÔõôÔÚlinuxÀï²¼ÖÃÎÒµÄjavaweb¹¤³Ì£¬ÈÃÆäÔËÐÐÆðÀ´µÄ£¬ÇëÏêϸµÄºÍÎÒ˵һÏ£¬Ð»Ð» ² ......