[Back] [Home]

■ MkLinux


/etc/rc.d/rc のバグを直す

[MkLinux] runlevel を 3 → 5 と変更したときなどに、すでに起動済みのdaemonプロセスを もう一度起動しようとします。 どうもおかしいなー、と思って /etc/rc.d/rc をよくよく見るとバグがあるじゃないですか。

/var/lock/subsys/ 配下のロックファイルのチェック条件が間違っています(AND じゃなくて OR が正解)。 以下のように直しました。

*** rc.orig Fri Nov 23 03:07:10 2001
--- /etc/rc.d/rc    Sat Oct 13 15:11:01 2001
***************
*** 45,52 ****

        # Check if the subsystem is already up.
        subsys=${i#/etc/rc.d/rc$runlevel.d/S??}
!       [ -f /var/lock/subsys/$subsys ] && \
!           [ -f /var/lock/subsys/${subsys}.init ] && continue

        # Bring the subsystem up.
        $i start
--- 45,52 ----

        # Check if the subsystem is already up.
        subsys=${i#/etc/rc.d/rc$runlevel.d/S??}
!       [ -f /var/lock/subsys/$subsys ] && continue
!       [ -f /var/lock/subsys/${subsys}.init ] && continue

        # Bring the subsystem up.
        $i start


[Back] [Home]
Satoshi Kobayashi (koba@yk.rim.or.jp)