我的init.d脚本永远不会调用停止参数?

我创build了一个名为blueBoxT的脚本来启动和停止Oracle,并将其放置在/etc/init.d目录中。

#!/bin/bash echo "blueBoxT $1 - `date '+%Y%m%d%H%M'`" >> /root/blueBoxT.log case "$1" in 'start') echo "Starting Oracle" su - oracle -c "/home/oracle/startDBT" ;; 'stop') echo "Stopping Oracle" su - oracle -c "/home/oracle/stopDBT" ;; *) echo "`basename $0`: usage: `basename $0` { stop | start }" ;; esac exit 0 

我做了象征性的链接

 root@dev /etc/rc.d # find . -name *blueBox* ./rc2.d/K11blueBox ./rc6.d/K11blueBox ./init.d/blueBoxT ./rc1.d/K11blueBox ./rc3.d/S97blueBox ./rc0.d/K11blueBox ./rc5.d/S97blueBox ./rc4.d/S97blueBox 

/root/blueBoxT.log中的日志显示启动命令,Oracle实例已启动。

停止命令永远不会被调用。 这不是我的日志。

 root@dev /root # cat blueBoxT.log blueBoxT start - 201008051323 blueBoxT start - 201008051327 blueBoxT start - 201008051346 blueBoxT start - 201008051356 

我使用命令closures了我的Fedora 10 …

 shutdown -h now 

我错误地configuration了什么,不能接收停止,以便我可以按顺序closuresOracle?

我没有这个版本的Fedora,但对于RHEL5,/etc/rc.d/rc的重要部分是:

 subsys=${i#/etc/rc$runlevel.d/K??} [ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \ || continue 

您的问题可能是您在启动时不要触摸/var/lock/subsys/blueBox

另外,init.d中的文件被称为blueBoxT而你的rc?.d脚本被称为K??blueBox (没有尾随T ),这是令人困惑的。