systemº¯Êý
ÔÚ¿´APUE10.18Õâ½Ú¿´µ÷ÓÃsystemº¯ÊýµÄ³ÌÐòʱ£¬ÓиöÎÊÌâÏò´ó¼ÒÌֽ̡£ÒÔÏÂʱ³ÌÐòµÄ¼òµ¥ÃèÊö£ºsig_int(int),sig_chld(int);
main()
{
signal(SIGINT,sig_int);O2hU0_#@:e^
signal(SIGCHLD,sig_CHLD);
system("/bin/ed");}J b4G?AYg4v
ÊéÉÏ˵Õâ¸ö³ÌÐòµÄ¹ý³ÌÊÇ£ºa.out£¨¸¸½ø³Ì£©fork³öÒ»¸öshell´¦ÀíÃüÁȻºóÔÚshellÉÏforkÒ»¸ö½ø³ÌÄǾÍÊÇed¡£ Q7Kd [y){8Z!N X7I v
4OUmlS
ÔÚ½âÊÍÕâ¸ö³ÌÐòÊÇÓÐÕâôһ¶Î»°£º¡°µ±±à¼³ÌÐòÖÕֹʱ£¬¶Ô¸¸½ø³Ì(a.out½ø³Ì)²úÉúSIGCHLDÐźš£¸¸½ø³Ì²¶×½Ëü£¬Ö´ÐÐÆä´¦Àí³ÌÐò sig_chld£¬È»ºó´ÓÆä·µ»Ø¡£µ«ÊÇÈô¸¸½ø³ÌÕý²¶×½SIGCHLDÐźţ¬ÄÇôÔÚsystemº¯ÊýÖ´ÐÐʱ£¬¸¸½ø³ÌÖиÃÐźŵĵÝËÍÓ¦µ±×èÈû¡£Êµ¼ÊÉÏ£¬Õâ¾ÍÊÇ POSIXËù˵Ã÷µÄ¡£·ñÔò£¬µ±system´´½¨µÄ×Ó½ø³Ì½áÊøÊ±£¬systemµÄµ÷ÓÃÕß¿ÉÄÜ´íÎóµØÈÏΪ£¬Ëü×Ô¼ºµÄÒ»¸ö×Ó½ø³Ì½áÊøÁË¡£¡±kKM&Bzv
&p7[5} \C)^2w O
1¡¢Ëû˵µ±±à¼³ÌÐòÖÕֹʱ£¬¶Ô¸¸½ø³Ì(a.out½ø³Ì)²úÉúSIGCHLDÐźţ¬±à¼³ÌÐòµÄ¸¸½ø³Ì²»ÊÇshellÂð£¬Ôõô»áÊÇa.outÄØ£¿
2¡¢¡°µ±system´´½¨µÄ×Ó½ø³Ì½áÊøÊ±£¬systemµÄµ÷ÓÃÕß¿ÉÄÜ´íÎóµØÈÏΪ£¬Ëü×Ô¼ºµÄÒ»¸ö×Ó½ø³Ì½áÊøÁË¡£¡±system´´½¨µÄ×Ó½ø³ÌÊÇed±à¼Æ÷£¬ systemµÄµ÷ÓÃÕßÊÇa.out,ed½áÊøµÄʱºò£¬ÊÇÓÉshellÊÕµ½SIGCHLDÐźŵģ¬a.out Ôõô»áÈÏΪ×Ô¼ºµÄ×Ó½ø³Ì½áÊøÁËÄØ£¬a.outûÊÕµ½ÐźŰ¡£¿:eUPN)Ct
4Jad5mU.w%xk
[[i] ±¾Ìû×îºóÓÉ clm615 ÓÚ 2007-8-14 12:14 ±à¼ [/i]] ÎÒ×Ô¼º¶¥ÉÏÈ¥£¬´ó¼Ò°ïæ¿´Ï °¡ 1¡¢Äã¾õµÃshellÊÇʲô£¿ÊdzÌÐòÂð£¿5^ uQ0u6D
2¡¢ÎÒ¾õµÃÄã¶ÏÕÂÈ¡ÒåÁË£¬Õâ¾ä»°Ö»ÊÇΪÁË˵Ã÷ÔÚsystemº¯ÊýÖ´ÐÐʱ£¬¸¸½ø³ÌÖиÃÐźŵĵÝËÍÓ¦µ±×èÈû
Ò³:
[1]