¡¡¡¡µ±±àдºÃÁËÒ»¸ö½Å±¾£¬ËüÐèÒª±»ÕûºÏµ½ rc.d ÖÐÈ¥¡£ Ò»¸öÖØÒªµÄ²½Öè¾ÍÊǰ²×°½Å±¾µ½ /etc/rc.d £¨¶Ô»ù±¾ÏµÍ³¶øÑÔ£©»ò /usr/local/etc/rc.d £¨¶Ôports¶øÑÔ£©ÖÐÈ¥¡£ÔÚ <bsd.prog.mk> ºÍ <bsd.port.mk> Öж¼Îª´ËÌṩÁË·½±ãµÄ½Ó¿Ú£¬ ͨ³£Äã²»±Øµ£ÐÄÊʵ±µÄËùÓÐȨÏÞºÍģʽ¡£ÏµÍ³½Å±¾Ó¦µ±ÊÇͨ¹ý¿ÉÒÔÔÚ src/etc/rc.d ÕÒµ½µÄ Makefile °²×°µÄ¡£Port ½Å±¾¿ÉÒÔÏñ Porter's Handbook ÖÐÃèÊöÄÇÑùͨ¹ýʹÓà USE_RC_SUBR À´±»°²×°¡£
¡¡¡¡²»¹ý£¬ÎÒÃÇÓ¦¸ÃÔ¤ÏÈ¿¼Âǵ½ÎÒÃǽű¾ÔÚϵͳÆô¶¯Ë³ÐòÖеÄλÖᣠÎÒÃǵĽű¾Ëù´¦ÀíµÄ·þÎñ¿ÉÄÜÒÀÀµÓÚÆäËüµÄ·þÎñ¡£¾Ù¸öÀý×Ó£¬ ûÓÐÍøÂç½Ó¿ÚºÍ·ÓÉÑ¡ÔñµÄÆôÓÃÔËÐеϰ£¬Ò»¸öÍøÂçÊØ»¤½ø³ÌÊDz»Æð×÷Óõġ£ ¼´Ê¹Ò»¸ö·þÎñ¿´ËÆÊ²Ã´¶¼²»ÐèÒª£¬ÔÚ»ù±¾Îļþϵͳ¼ì²é¹ÒÔØÍê±Ï֮ǰҲºÜÄÑÆô¶¯¡£
¡¡¡¡Ö®Ç°ÎÒÃÇÔøÌáµ½¹ý rcorder(8)¡£ÏÖÔÚÊÇʱºòÀ´ÃÜÇеعØ×¢ÏÂËüÁË¡£
ÁýͳµØËµ£¬rcorder(8)
´¦ÀíÒ»×éÎļþ£¬¼ìÑéËüÃǵÄÄÚÈÝ£¬ ²¢´ÓÎļþ¼¯ºÏ´òÓ¡Ò»¸öÎļþÁбíµÄÒÀÀµË³Ðòµ½ stdout
±ê×¼Êä³ö¡£ÕâµãÊÇÓÃÓÚ±£³ÖÎļþÄÚ²¿µÄÒÀÀµÐÅÏ¢£¬
¶øÃ¿¸öÎļþÖ»ÄÜ˵Ã÷×Ô¼ºµÄÒÀÀµ¡£Ò»¸öÎļþ¿ÉÒÔÖ¸¶¨ÈçÏÂÐÅÏ¢£º
Ëü Ìṩ µÄ ¡°Ìõ¼þ¡± µÄÃû×Ö£¨Òâζ×ÅÎÒÃÇ·þÎñµÄÃû×Ö£©£»
Ëü ÐèÇó µÄ ¡°Ìõ¼þ¡± µÄÃû×Ö£»
Ó¦¸Ã ÏÈ ÔËÐеÄÎļþµÄ ¡°Ìõ¼þ¡±µÄÃû×Ö£»
ÄÜÓÃÓÚ´ÓÈ«²¿Îļþ¼¯ºÏÖÐÑ¡ÔñÒ»¸ö×Ó¼¯µÄ¶îÍ⠹ؼü×Ö£¨ rcorder(8) ¿Éͨ¹ýÑ¡Ïî¶ø±»Ö¸¶¨À´°üÀ¨»òʡȥÓÉÌØÊâ¹Ø¼ü×ÖËùÁгöµÄÎļþ¡££©
¡¡¡¡²¢²»Ææ¹ÖµÄÊÇ£¬rcorder(8) Ö»ÄÜ´¦Àí½Ó½ü sh(1) Óï·¨µÄÎı¾Îļþ¡£rcorder(8) Ëù½â¶ÁµÄÌØÊâÐп´ÆðÀ´ÀàËÆ sh(1) µÄ×¢ÊÍ¡£ÕâÖÖÌØÊâÎı¾ÐеÄÓï·¨Ï൱ÑϸñµØ¼ò»¯ÁËÆä´¦Àí¡£ Çë²éÔÄ rcorder(8) ÒÔ»ñÈ¡¸üÏêϸµÄÐÅÏ¢¡£
¡¡¡¡³ýʹÓà rcorder(8) µÄÌØÊâÐÐÒÔÍ⣬ ½Å±¾¿ÉÒÔ¼á³Ö½«ÆäÒÀÀµµÄÆäËü·þÎñÇ¿ÖÆÐÔÆô¶¯¡£µ±ÆäËü·þÎñÊÇ¿ÉÑ¡µÄ£¬ ²¢Òòϵͳ¹ÜÀíÔ±´íÎóµØÔÚ rc.conf(5) ÖнûÓõô¸Ã·þÎñ¶øÊ¹Æä²»ÄÜ×ÔÐÐÆô¶¯Ê±£¬»áÐèÒªÕâÒ»µã¡£
¡¡¡¡½«ÕâЩ½÷¼ÇÔÚÐÄ£¬ÎÒÃÇÀ´¿¼ÂÇϼòµ¥½áºÏÁËÒÀÀµÐÅÏ¢ÔöÇ¿µÄÊØ»¤½ø³Ì½Å±¾£º
#!/bin/sh # PROVIDE: mumbled oldmumble# REQUIRE: DAEMON cleanvar frotz
# BEFORE: LOGIN
# KEYWORD: nojail shutdown
. /etc/rc.subr name="mumbled" rcvar=`set_rcvar` command="/usr/sbin/${name}" start_precmd="${name}_prestart" mumbled_prestart() { if ! checkyesno frotz_enable && \ ! /etc/rc.d/frotz forcestatus 1>/dev/null 2>&1; then force_depend frotz || return 1
fi return 0 } load_rc_config $name run_rc_command "$1"
¡¡¡¡¸úÇ°ÃæÒ»Ñù£¬×öÈçÏÂÏêϸ·ÖÎö£º
×¢Òâ: ͨ³£½Å±¾Ö¸¶¨Ò»¸öµ¥¶ÀµÄÒÑÌṩµÄÌõ¼þ¡£È»¶ø£¬ ²¢Ã»ÓÐʲô·Á°ÎÒÃÇ´ÓÁгöµÄÄÇЩÌõ¼þÖÐÖ¸¶¨£¬ÀýÈ磬 ΪÁ˼æÈÝÐÔµÄÄ¿µÄ¡£
ÔÚÆäËüÇé¿ö£¬Ö÷ÒªµÄÃû³Æ£¬»òÕß˵ΨһµÄ£¬ PROVIDE: Ìõ¼þÓ¦¸ÃÓë ${name} Ïàͬ¡£
×¢Òâ: BEFORE: ÕâÒ»Ðв»¿ÉÒÔÔÚÆäËü½Å±¾²»ÍêÕûµÄÒÀÀµ¹ØÏµÁбíÖÐÀÄÓᣠÊʺÏʹÓà BEFORE: µÄÇé¿öÊǵ±ÆäËü½Å±¾²»¹ØÐÄÎÒÃǵĽű¾£¬ µ«ÊÇÎÒÃǵĽű¾Èç¹ûÔÚÁíÒ»¸ö֮ǰÔËÐеϰÄܹ»¸üºÃµØÖ´ÐÐÈÎÎñ¡£ Ò»¸öµäÐ͵ÄʵÀýÊÇÍøÂç½Ó¿ÚºÍ·À»ðǽ£º ËäÈ»½Ó¿Ú²»ÒÀÀµ·À»ðǽÀ´Íê³É×Ô¼ºµÄ¹¤×÷£¬ µ«ÊÇϵͳ°²È«½«ÒòÒ»ÇÐÍøÂçÁ÷Á¿Ö®Ç°Æô¶¯µÄ·À»ðǽ¶øÊÜÒæ¡£
³ýÁËÌõ¼þÏà¶ÔÓ¦µÄÿ¸öµ¥¶À·þÎñ£¬½Å±¾Ê¹ÓÃÔªÌõ¼þºÍËüÃÇµÄ ¡°Õ¼Î»·û¡± À´±£Ö¤Ä³¸ö²Ù×÷×éÔÚÆäËü֮ǰ±»Ö´ÐС£ ÕâЩÊÇÓÉ UPPERCASE ´óдÃû×ÖËù±íʾµÄ¡£ËüÃǵÄÁбíºÍÓ÷¨¿ÉÒÔÔÚ rc(8) ÖÐÕÒµ½¡£
Çмǽ«Ò»¸ö·þÎñÃû³Æ·Å½ø REQUIRE: Ðв»Äܱ£Ö¤Êµ¼ÊµÄ·þÎñ»áÔÚÎÒÃǵĽű¾Æô¶¯µÄʱºòÔËÐС£ ËùÐèÇóµÄ·þÎñ¿ÉÄÜ»áÆô¶¯Ê§°Ü»òÔÚ rc.conf(5) Öб»½ûµôÁË¡£ ÏÔÈ»£¬rcorder(8) ÊÇÎÞ·¨×·×ÙÕâЩϸ½ÚµÄ£¬²¢ÇÒ rc(8) Ò²²»»áÈ¥×·×Ù¡£ËùÒÔ£¬ ½Å±¾Æô¶¯µÄÓ¦ÓóÌÐòÓ¦µ±Äܹ»Ó¦¸¶ÈκÎËùÐèÇóµÄ·þÎñµÄ²»¿ÉÓÃÇé¿ö¡£ ijЩÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔÓà ÏÂÃæ ËùÌÖÂ۵ķ½Ê½À´ÐÖú½Å±¾¡£
-k
ºÍ -s
Ñ¡ÏîÀ´·Ö±ðÖ¸¶¨
¡°±£ÁôÇåµ¥£¨keep list£©¡± ºÍ ¡°Ìø¹ýÇåµ¥£¨skip list£©¡±¡£
´ÓÈ«²¿Îļþµ½°´ÒÀÀµ¹ØÏµÅÅÁеÄÇåµ¥£¬rcorder(8)
½«Ö»ÊÇÌô³ö±£ÁôÇåµ¥£¨³ý·ÇÊǿյģ©
ÖÐÄÇЩ´ø¹Ø¼ü×ÖµÄÒÔ¼°´ÓÌø¹ýÇåµ¥ÖÐÌô³ö²»´ø¹Ø¼ü×ÖµÄÎļþ¡£ÔÚ FreeBSD ÖУ¬rcorder(8) ±» /etc/rc ºÍ /etc/rc.shutdown ËùʹÓᣠÕâÁ½¸ö½Å±¾¶¨ÒåÁË FreeBSD ÖÐ rc.d ¹Ø¼ü×ÖÒÔ¼°ËüÃǵÄÒâÒåµÄ±ê×¼ÁбíÈçÏ£º
¸Ã·þÎñ²»ÊÊÓÃÓÚ jail(8) »·¾³¡£ Èç¹ûÊÇÔÚ jail µÄÄÚ²¿µÄ»°£¬×Ô¶¯Æô¶¯ºÍ¹Ø±Õ³ÌÐò½«ºöÂԸýű¾¡£
¸Ã·þÎñÖ»ÄÜÊÖ¶¯Æô¶¯·ñÔò½«²»»áÆô¶¯¡£ ×Ô¶¯Æô¶¯³ÌÐò½«ºöÂԴ˽ű¾¡£½áºÏ shutdown ¹Ø¼ü×ֵϰ£¬Õâ¿ÉÒÔÓÃÀ´±àдֻÔÚϵͳ¹Ø±ÕʱִÐÐһЩÈÎÎñµÄ½Å±¾¡£
Õâ¸ö¹Ø¼ü×Ö Ã÷È· µØÁгöÁËÐèÒªÔÚϵͳ¹Ø±ÕǰֹͣµÄ·þÎñ¡£
×¢Òâ: µ±ÏµÍ³¼´½«¹Ø±ÕµÄʱºò£¬ /etc/rc.shutdown ÔÚÔËÐС£ Ëü¼Ù¶¨ÈÏΪ´ó²¿·ÖµÄ rc.d ½Å±¾ÔÚÄÇ¿Ìʲô¶¼²»×ö¡£Òò´Ë£¬ /etc/rc.shutdown Ñ¡ÔñÐԵص÷ÓôøÓÐ shutdown ¹Ø¼ü×ÖµÄ rc.d ½Å±¾£¬ ÓÐЧµØºöÂÔÆäÓàµÄ½Å±¾¡£ÎªÁ˸ü¿ìµÄ¹Ø±Õ£¬ /etc/rc.shutdown ´«µÝ
faststop
ÃüÁî¸øÆäÔËÐеĽű¾£¬ ÒÔÌø¹ýÔ¤Öõļì²é£¬ÀýÈ磬½ø³ÌÎļþ pidfile µÄ¼ì²é¡£ ÕýÈçÒÀÀµÐÔ·þÎñÓ¦¸ÃÔÚÆäËùÒÀÀµµÄ·þÎñ֮ǰֹͣ£¬ /etc/rc.shutdown ÒÔÏà·´µÄÒÀÀµ´ÎÐòÀ´ÔËÐÐÕâЩ½Å±¾¡£Èç¹ûдһ¸öÕæÕýµÄ rc.d ½Å±¾µÄ»°£¬ ÄãÓ¦µ±¿¼Âǵ½ÆäÊÇ·ñÓëϵͳ¹Ø±ÕʱÓйØÏµ¡£ÀýÈ磬 Èç¹ûÄãµÄ½Å±¾Ö»Í¨¹ýÏìÓ¦
start
ÃüÁîÀ´ÔËÐÐÈÎÎñ£¬ÄÇôÄã²»ÐèÒª°üº¬Õâ¸ö¹Ø¼ü×Ö¡£È»¶ø£¬ Èç¹ûÄãµÄ½Å±¾¹ÜÀí×ÅÒ»¸ö·þÎñ£¬ÄÇô£¬ÔÚϵͳ½øÈë halt(8) ÖÐËùÃèÊöµÄÆä±¾Éí¹Ø±Õ˳ÐòµÄ×îÖÕ½×¶Î֮ǰֹͣ¸Ã½Å±¾£¬ ¿ÉÄÜÊǸö²»´íµÄÖ÷Òâ¡£ÌØ±ðÊÇ£¬ ÄãÏÔÈ»ÊÇÓ¦¸Ã¹Ø±ÕÒ»¸öÐèÒªÏ൱³¤Ê±¼ä£¬ »òÐèÒªÌØ¶¨µÄ¶¯×÷²ÅÄܸɾ»µØ¹Ø±ÕµÄ·þÎñ¡£ Êý¾Ý¿âÒýÇæ¾ÍÊÇÕâÑùÒ»¸öµäÐ͵ÄÀý×Ó¡£
force_depend
ÆðʼµÄÐÐÓ¦±»ÓÃÓÚ¸ü½÷É÷µÄÇé¿ö¡£Í¨³££¬ÓÃÓÚÐÞÕýÏ໥¹ØÁªµÄ rc.d
½Å±¾·Ö²ã½á¹¹µÄÅäÖÃÎļþʱ»á¸ü¼ÓÎÈÍס£Èç¹ûÄãÈÔ²»ÄÜÍê³É²»º¬ force_depend
µÄ½Å±¾£¬
·¶ÀýÌṩÁËÒ»¸öÈçºÎÓÐÌõ¼þµØµ÷ÓÃËüµÄϰ¹ßÓ÷¨¡£ÔÚ·¶ÀýÖУ¬ÎÒÃÇµÄ mumbled ÊØ»¤½ø³ÌÐèÇóÁíÒ»¸öÒԸ߼¶·½Ê½Æô¶¯µÄ½ø³Ì£¬ frotz¡£µ« frotz Ò²ÊÇ¿ÉÑ¡µÄ£» ¶øÇÒ rcorder(8)
¶ÔÕâЩÐÅÏ¢ÊÇÒ»ÎÞËùÖªµÄ¡£ÐÒÔ˵ÄÊÇ£¬ ÎÒÃǵĽű¾ÒÑ·ÃÎʵ½È«²¿µÄ rc.conf(5) ±äÁ¿¡£Èç¹û
frotz_enable ÎªÕæ£¬ÎÒÃÇÏ£ÍûµÄ×îºÃ½á¹ûÊÇÒÀ¿¿ rc.d ÒѾÆô¶¯ÁË frotz¡£ ·ñÔòÎÒÃÇÇ¿ÖÆ¼ì²é
frotz µÄ״̬¡£×îÖÕ£¬ Èç¹û frotz
ÒÀÀµµÄ·þÎñûÓÐÕÒµ½»òÔËÐеϰ£¬ ÎÒÃǽ«Ç¿ÖÆÆäÔËÐС£Õâʱ force_depend
½«·¢³öÒ»Ìõ¾¯¸æÐÅÏ¢£¬ÒòΪËüÖ»Ó¦¸ÃÔÚ¼ì²éµ½ÅäÖÃÐÅÏ¢¶ªÊ§µÄÇé¿öϱ»µ÷Óá£
±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.