[ת]Linux: waitºÍ½©Ê¬½ø³Ì
֮ǰÎÒÃÇÒѾ½²µ½ÓÃfork()À´´´½¨Ò»¸öнø³Ì£¬ÓÃexit()À´ÖÕÖ¹Ò»¸ö½ø³Ì¡£ÏÖÔÚÎÒÃǽ«ÂÔ΢ÉîÈëÁ˽âexit()Ö´ÐÐÖ®ºó·¢ÉúµÄÊÂÇé¡£
ÊÂʵÉÏ£¬exit()ÖÕÖ¹½ø³Ì²¢Ã»Óн«Æä³¹µ×Öսᣬ¶øÊǽ«Ò»¸öÕý³£µÄ½ø³Ì±ä³ÉÁËÒ»¸ö½©Ê¬½ø³Ì¡£¸Ã½©Ê¬½ø³Ì¼¸ºõ²»Õ¼ÓÃ×ÊÔ´£¬Ã»ÓпÉÖ´ÐеĴúÂ룬Ҳ²»Äܱ»µ÷¶È£¬½ö½öÖ»ÄÜÔÚ½ø³ÌÁбíÖб£ÁôÒ»¸öλ×Ó¡£ËùÒÔ½©Ê¬½ø³ÌÌýËÆ¿Ö²À£¬Êµ¼ÊÉÏÖ»Äܱ»ºóÈËƾµõ¶øÒÑ
£¬µ«ÊÇÈ´ÓÐËü´æÔÚµÄʵ¼Ê¼ÛÖµ¡£
ËüµÄ¼ÛÖµ¾ÍÔÚÓÚËü¼ÇÔØÁËÒÑÍ˳ö×Ó½ø³ÌµÄ״̬¡£ÕâЩ״̬°üÀ¨½ø³ÌÊÇ·ñÊÇÕý³£Í˳ö£¿ËùÕ¼ÓеÄcpuʱ¼ä£¿½ø³ÌID£¿µÈµÈ¡£Ëµ°×ÁË£¬½©Ê¬½ø³ÌÖ®ËùÒÔ´æÔÚ£¬¾ÍÊÇΪ¹©ÆäËû½ø³ÌÊÕ¼¯ÒÑÍ˳ö½ø³ÌµÄÐÅÏ¢Óõġ£
µ«ÊÇ£¬linuxµÄ½ø³ÌÊýÊÇÓÐÉÏÏ޵ģ¬½ø³ÌÁбíÖÐÌ«¶àµÄ“½©Ê¬”Ϊ×èÈÅ“ÐÂÉúÃüµÄ”µ®Éú¡£ËùÒÔÎÒÃÇÐèÒªÔÚÊÕ¼¯ËüµÄÐÅÏ¢ºó£¬½«Æä³¹µ×ÏûÃð¡£Õâʱ£¬ÎÒÃǾÍÒªÓõ½wait()º¯Êý¡£
pid_t wait(int *status)
pid_sÊÇwaitµÄ·µ»ØÖµÊý¾ÝÀàÐÍ£¬statusÊÇÒ»¸öÖ¸Õ룬ָÏòÒ»¸öÕûÐÎÊý¾Ý£¬status¾ÍÊÇÓÃÀ´ÊÕ¼¯ÒÑÍ˳ö½ø³ÌµÄ״̬µÄ£¬¼´½©Ê¬½ø³ÌµÄÐÅÏ¢¡£Æä
Ö´Ðйý³ÌÊÇÕâÑùµÄ£º½ø³ÌÒ»µ©Ö´ÐÐwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬Ö±µ½²éÕÒµ½ÒѾ±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬ÊÕ¼¯ËüµÄÐÅÏ¢²¢½«Æä³¹µ×´Ý»Ùºó·µ»Ø£¬²»È»¾ÍÒ»Ö±×èÈû£¬Ö±µ½½©
ʬ×Ó½ø³Ì³öÏÖ¡£
¼ÙÈçÎÒÃDz»¹ØÐĽ©Ê¬½ø³ÌµÄÐÅÏ¢£¬Ö»Ïë°ÑËüÏûÃð£¬ÄÇôֻҪÕâÑùwait£¨NULL£©£¬Ö»»á·µ»Ø×Ó½ø³ÌµÄIDºÅ¡£Õý³£Çé¿öÏ£¬waitÊÕ¼¯ÒÑÍ˳ö½ø³ÌµÄ״̬£¬
²¢´æÈëstatusÖУ¬ËüËùÖ¸ÏòµÄÕûÊýÖ¸³öÁËÊÇ·ñÊÇÕý³£Í˳ö¡¢ÒÔ¼°Õý³£½áÊøʱµÄ·µ»ØÖµ¡£¶ÔÓÚÕâÁ½·½ÃæµÄÐÅÏ¢£¬ÎÒÃÇÓúêÀ´±íÕ÷£º
WIFEXITED(status£©ÓÃÀ´Ö¸Ê¾×Ó½ø³ÌÊÇ·ñÊÇÕý³£Í˳ö£¬ÈôÊÇ£¬Ôò·µ»ØÒ»¸ö·ÇÁãÖµ¡£ÕâÀïµÄstatusÊÇwait£¨*status£©ÖÐÖ¸ÕëµÄ¶ÔÏó¡£
WEXITSTATUS(status)ÓÃÀ´µ±×Ó½ø³ÌÕý³£Í˳öʱ£¬ÌáÈ¡×Ó½ø³ÌµÄ·µ»ØÖµ¼´¶ÔÓ¦exit£¨*£©ÖеÄÖµ¡£
ÓÉ´Ë¿ÉÖª£¬ÒÔÉÏÁ½¸öºê¿ÉÒÔÓÃÀ´ÌáÈ¡½©Ê¬½ø³ÌËù¼ÇÔصÄÒ»²¿·Ö״̬ÐÅÏ¢¡£
³ýÁËwait£¨£©º¯ÊýÀ´ÌáÈ¡½©Ê¬½ø³ÌµÄÐÅÏ¢²¢½«ÆäÏûÃðÖ®Í⣬»¹ÓÐÒ»¸öº¯ÊýͬÑù¿ÉÒÔʤÈÎÕâ¸ö¹¤×÷¡£pid_t wait(pid_t
pid int *status
options),pidÓÃÀ´Ö¸¶¨¶ÔÓ¦½ø³ÌµÄID£¬µ±ËüÊÇ-1ʱ£¬Ôò¿ÉÒÔ
Ïà¹ØÎĵµ£º
LinuxÏÂÓýű¾Ð´¼à¿Ø´úÀí³ÌÐò
Îâ旻
Ì©ÑÒÍøÂ繤×÷ÊÒ
Òò¹¤×÷ÐèÒª£¬ÎÒÐèÒª¼à¿Ø¼¸Ì¨·þÎñÆ÷µÄ³ÌÐò״̬£¬SNMP(¼òµ¥ÍøÂç¹ÜÀíÐÒé)¿ÉÒÔÓ㬵«²¢²»ÄÜÂú×ãÎÒµÄÒªÇ󣬶øÇÒ²¢²»¼òµ¥¡£ÎÒÏ£ÍûʵʱµÃµ½ÖîÈç½ø³ÌµÄÐÅÏ¢¡¢CPUʹÓá¢ÄÚ´æʹÓá¢ÍøÂçÁ÷Á¿¡¢ÍøÂç¶Ë¿Ú¡¢´ÅÅÌÐÅÏ ......
µ±Á½Ì¨LINUXÖ÷»úÖ®¼äÒª»¥´«Îļþʱ¿ÉʹÓÃSCPÃüÁîÀ´ÊµÏÖ
¸´ÖÆÎļþ£º
£¨1£©½«±¾µØÎļþ¿½±´µ½Ô¶³Ì
scp ÎļþÃû --Óû§Ãû@¼ÆËã»úIP»òÕß¼ÆËã»úÃû³Æ:Ô¶³Ì·¾¶
£¨2£©´ÓÔ¶³Ì½«Îļþ¿½»Ø±¾µØ
scp --Óû§Ãû@¼ÆËã»úIP»òÕß¼ÆËã»úÃû³Æ:ÎļþÃû ±¾µØ·¾¶
¸´ÖÆĿ¼£º
£¨1£©½«±¾µØĿ¼¿½±´µ½Ô¶³Ì
scp -r Ŀ¼Ãû Óû§Ãû@¼Æ ......
ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌʽÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ¸üÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬
ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒÇ°Ò»Õó×Ó±»ioctl¸ø¸ã»ì
ÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëû£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
  ......
×î½üÔÚά»¤ÂÛ̳£¬ÂÛ̳µÄ¹¹½¨ÊÇlinux nginx+php5.3+mysql5.1¡£×î½üÒ»¶Îʱ¼äÀÏÊdzöÏÖÎÊÌ⣬¸Õ¿ªÊ¼ÓÉÓÚphp°æ±¾ÒÔ¼°ÉèÖõÄÎÊÌ⻹ÓÐÒÔÇ°ÀÏ°æ±¾ÁôϵÄÎÊÌ⣬ʹµÃÂÛ̳Àϱ»¹ÒÂí£¬ÕÒÁËÒ»¸öÐÇÆÚµÄÎÊÌ⣬¸÷´¦¶¼²¹Â©ÁËһϵģ¡phpÒ²Éý¼¶ÁËһϣ¡
  ......
Ïß³Ì
ÊǼÆËã»úÖжÀÁ¢ÔËÐеÄ×îСµ¥Î»£¬ÔËÐÐʱռÓúÜÉÙµÄϵͳ×ÊÔ´¡£¿ÉÒÔ°ÑÏ߳̿´³ÉÊDzÙ×÷ϵͳ·ÖÅäCPUʱ¼äµÄ»ù±¾µ¥Ôª¡£Ò»¸ö½ø³Ì¿ÉÒÔÓµÓÐÒ»¸öÖÁ¶à¸öÏ̡߳£ËüÏß³ÌÔÚ½ø³ÌÄÚ²¿¹²ÏíµØÖ·¿Õ¼ä¡¢´ò¿ªµÄÎļþÃèÊö·ûµÈ×ÊÔ´¡£Í¬Ê±Ïß³ÌÒ²ÓÐÆä˽ÓеÄÊý¾ÝÐÅÏ¢£¬°üÀ¨£ºÏ̺߳š¢¼Ä´æÆ÷£¨³ÌÐò¼ÆÊýÆ÷ºÍ¶ÑÕ»Ö¸Õ룩¡¢¶ÑÕ»¡¢ÐźÅÑÚÂë¡¢ÓÅÏȼ¶¡¢Ïß³ ......