こんにちは、鶴谷です。
詳しくないのですが、以前に困ったクチなので...
TAKANO Yuji (たかのゆ〜じ)
<[メールアドレス保護]> さん>
> /etc/rc.d/* は /etc/rc.conf で動作し、/usr/local/etc/rc.d/* は
> /etc/rc.conf.local で動作しますが、起動する正確な順番を知りたい
> です。
(中略)
> 指定したディレクトリ(man では file となっていますが)を逆に指定
> すると、
>
> rcorder -s nostart /usr/local/etc/rc.d/* /etc/rc.d/*
ディレクトリではなくファイルを指定してますよね...
> 表示される起動順序が変わってしまいます。と言うことはつまりは、
> FILESYSTEMS、NETWORKING、DAEMON、LOGIN など大文字 rc の中での順
> 番は指定できないと言うことでしょうか。
できないのではないでしょうか?
システムのものも、自分で書いたものも、(一部を除いて)全て平等に扱われている
はずなので、それらの順序を整理する情報がスクリプト中に記録されていない以上は、
細かい順序を指定する手段がないと思います。
どうしても、ということなら、BEFOREを駆使するしかないのではないでしょうか?
> まぁ、もっと平たく言うと、/usr/local/etc/rc.d/xdm と言う rc ス
> クリプトを書いたのですが、これを「一番最後に起動したい」と思って
> います。REQUIRE と BEFORE はどのように書いたら一番最後に起動する
> ようになるでしょうか?教えていただけませんでしょうか・・。
>
> #/etc/rc.d/LAST とか欲しいと思う今日このごろ・・。
> 後、SystemV の init みたいに番号が欲しいぃっ!!
>
> ブートメッセージを全て確認した後に X が起動して欲しい。と言う
> ことです。まぁ、X だけでなく、他にも一番最後に動作して欲しいもの
> は多々あるのですが・・。
非常に恥ずかしいものですが、私の使っているのは次の通りです。
gettyが動く前にxdmが起動すると、なぜかハングアップすることがあったので、
それ以降は強引にxdmの起動を待つことにしました。
#って、全く美しくないのですが。
#!/bin/sh
# script to run xdm.
# rcNG-fied on May 31, 2006.
#
# PROVIDE: xdm
# REQUIRE: LOGIN cleanvar moused syscons pcvt
# KEYWORD: shutdown
. /etc/rc.subr
name="xdm"
rcvar=`set_rcvar`
xdm_enable=${xdm_enable-"NO"}
start_cmd="xdm_start"
stop_cmd="xdm_stop"
xdm_startup_sleep="15"
retry="10"
command="/usr/local/bin/xdm"
xdm_start() {
if [ -x ${command} ] ; then
( cnt=0
ok=1
while [ `/bin/ps -ax | /usr/bin/grep getty | /usr/bin/grep -c -v grep`
-lt 1 ]; do
cnt=`expr "${cnt}" + 1`
if [ $cnt -ge ${retry} ]; then
ok=0
break
fi
sleep ${xdm_startup_sleep}
done
if [ ${ok} -eq 1 ]; then
${command}
else
/usr/bin/logger -p daemon.notice -t xdm "failed to start xdm."
fi ) &
fi
}
xdm_stop() {
PID=`cat /var/run/xdm.pid`
kill ${PID}
}
load_rc_config ${name}
run_rc_command "$1"
--
[メールアドレス保護]
E-mail:
[メールアドレス保護]