5 Æô¶¯²¢Í£Ö¹¼òµ¥ÊØ»¤½ø³Ì

¡¡¡¡ÎÒÃÇÔçÏÈ˵¹ý rc.subr(8) ÊÇÄܹ»ÌṩĬÈÏ·½·¨µÄ¡£ ÏÔÈ»£¬ÕâЩĬÈÏ·½·¨²¢²»ÊÇ̫ͨÓõġ£ ËüÃǶ¼ÊÇÊÊÓÃÓÚ´ó¶àÊýÇé¿öÏÂÀ´Æô¶¯ºÍÍ£Ö¹Ò»¸ö¼òµ¥µÄÊØ»¤½ø³Ì¿ö¡£ ÎÒÃÇÀ´¼ÙÉèÏÖÔÚÐèҪΪһ¸ö½Ð×ö mumbled µÄÊØ»¤½ø³Ì±àдһ¸ö rc.d½Å±¾£¬ ÔÚÕâÀ/para>

#!/bin/sh

. /etc/rc.subr

name=mumbled
rcvar=mumbled_enable

command="/usr/sbin/${name}"(1)

load_rc_config $name
run_rc_command "$1"

¡¡¡¡¸Ðµ½ºÜ¼òµ¥°É£¬²»ÊÇô£¿ÎÒÃÇÀ´¼ì²éÏÂÎÒÃÇÕâ¸öС½Å±¾¡£ Ö»ÐèҪעÒâÏÂÃæµÄÕâЩÐÂ֪ʶµã£º

(1)
Õâ¸ö command ±äÁ¿¶ÔÓÚ rc.subr(8) À´ËµÊÇÓÐÒâÒåµÄ¡£µ±Ëü±»ÉèÖÃʱ£¬ rc.subr(8) ½«¸ù¾ÝÌṩ´«Í³ÊØ»¤½ø³ÌµÄÇéÐζøÉúЧ¡£ ÌØ±ðÊÇ£¬½«ÎªÕâЩ²ÎÊýÌṩĬÈϵķ½·¨£º start£¬stop£¬ restart£¬poll£¬ ÒÔ¼° status¡£

¸ÃÊØ»¤½ø³Ì½«»áÓÉÔËÐÐÖÐµÄ $command ÅäºÏÓÉ $mumbled_flags ËùÖ¸¶¨µÄÃüÁîÐбêÖÄÀ´Æô¶¯¡£ Òò´Ë£¬¶ÔĬÈ쵀 start ·½·¨À´Ëµ£¬ ËùÓеÄÊäÈëÊý¾ÝÔÚÎÒÃǽű¾±äÁ¿¼¯ºÏÖж¼¿ÉÓá£Óë start ²»Í¬µÄÊÇ£¬ ÆäËû·½·¨¿ÉÄÜÐèÒªÓë½ø³ÌÆô¶¯Ïà¹ØµÄ¶îÍâÐÅÏ¢¡£¾Ù¸öÀý×Ó£¬ stop ±ØÐëÖªµÀ½ø³ÌµÄ PID ºÅÀ´ÖÕ½á½ø³Ì¡£ ÔÚĿǰµÄÇé¿öÖУ¬rc.subr(8) ½«É¨ÃèÈ«²¿½ø³ÌµÄÇåµ¥£¬ ²éÕÒÒ»¸öÃû×ÖµÈͬÓÚ $procname µÄ½ø³Ì¡£ ºóÕßÊÇÁíÒ»¸ö¶Ô rc.subr(8) ÓÐÒâÒåµÄ±äÁ¿£¬ ²¢ÇÒĬÈÏËüµÄÖµ¸ú command Ò»Ñù¡£ »»¶øÑÔÖ®£¬µ±ÎÒÃǸø command ÉèÖÃÖµºó£¬ procname ʵ¼ÊÉÏÒ²ÉèÖÃÁËͬÑùµÄÖµ¡£ ÕâÆô¶¯ÎÒÃǵĽű¾À´É±ËÀÊØ»¤½ø³Ì²¢¼ì²éËüÊÇ·ñÕýÔÚµÚÒ»¸öλÖÃÔËÐС£

×¢Òâ: ijЩ³ÌÐòʵ¼ÊÉÏÊÇ¿ÉÖ´ÐеĽű¾¡£ ϵͳÆô¶¯½Å±¾µÄ½âÊÍÆ÷ÒÔ´«µÝ½Å±¾ÃûΪÃüÁîÐвÎÊýµÄÐÎʽÀ´ÔËÐнű¾¡£ È»ºó±»Ó³Éäµ½½ø³ÌÁбíÖУ¬Õâ»áʹ rc.subr(8) ÃÔ»ó¡£Òò´Ë£¬µ± $command ÊÇÒ»¸ö½Å±¾µÄʱ£¬ÄãÓ¦¸Ã¶îÍâµØÉèÖà command_interpreter À´Èà rc.subr(8) ÖªÏþ½ø³ÌµÄʵ¼ÊÃû×Ö¡£

¶Ôÿ¸ö rc.d ½Å±¾¶øÑÔ£¬ ÓÐÒ»¸ö¿ÉÑ¡µÄ rc.conf(5) ±äÁ¿¸ø command ָʾÆäÓÅÏȼ¶¡£ ËüµÄÃû×ÖÊÇÏÂÃæÕâÑùµÄÐÎʽ£º${name}_program£¬ name ÊÇÎÒÃÇ Ö®Ç° ÌÖÂÛ¹ýµÄ±ØÐëÐÔ±äÁ¿¡£È磬ÔÚÕâ¸ö°¸ÀýÖÐËüÓ¦¸ÃÃüÃûΪ emumbled_program¡£ÕâÆäʵÊÇ rc.subr(8) ·ÖÅä ${name}_program À´¸Äд command µÄ¡£

µ±È»£¬¼´Ê¹ command δ±»ÉèÖ㬠sh(1) Ò²½«ÔÊÐíÄã´Ó rc.conf(5) »ò×ÔÉíÀ´ÉèÖà ${name}_program¡£ÔÚÄÇÖÖÇé¿öÏ£¬ ${name}_program µÄÌØ¶¨ÊôÐÔ¶ªÊ§ÁË£¬ ²¢ÇÒËü³ÉΪÁËÒ»¸öÄܹ©ÄãµÄ½Å±¾ÓÃÓÚÆä×ÔÉíÄ¿µÄµÄÆÕͨ±äÁ¿¡£ È»¶ø£¬µ¥¶ÀʹÓà ${name}_program ÊDz¢²»ÊÇÎÒÃÇËù¼ÄÍûµÄ£¬ÒòΪͬʱʹÓÃËüºÍ command ÒѳÉΪÁË rc.d ½Å±¾±à³ÌµÄÒ»¸ö¹ßÓõÄÔ¼¶¨¡£

¹ØÓÚĬÈÏ·½·¨µÄ¸üÏêϸµÄÐÅÏ¢£¬Çë²Î¿¼ rc.subr(8)¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.