我试图让Chandler在用户的“chandler”下启动时在debian框上运行,并尝试了下面的脚本,在init.d中find它:
#! /bin/sh # # /etc/init.d/chandler # RETVAL=$? CHANDLER_HOME="/chandler" # check input case "$1" in start) if [ -f $CHANDLER_HOME/bin/osafsrvctl ]; then /bin/su chandler $CHANDLER_HOME/bin/osafsrvctl start fi ;; stop) if [ -f $CHANDLER_HOME/bin/osafsrvctl ]; then /bin/su chandler $CHANDLER_HOME/bin/osafsrvctl stop fi ;; *) echo "Usage: /etc/init.d/osafsrvctl {start|stop}" exit 1 ;; esac exit $RETVAL
然后我跑了:
update-rc.d chandler defaults
我已经检查过init.d中的启动脚本拥有755个权限,但没有任何喜悦。
我在这里错过了很明显的东西吗
感谢任何指针。
更新:根据下面的build议,这里是我已经添加到脚本的init头:
### BEGIN INIT INFO # Provides: chandler # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop chandler server ### END INIT INFO
查看/etc/init.d中的其他脚本,您应该看到一个与fetchmail类似的LSB头注释块:
### BEGIN INIT INFO # Provides: fetchmail # Required-Start: $network $local_fs $remote_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 1 # Short-Description: init-Script for system wide fetchmail daemon ### END INIT INFO
这种types的块是必需的。
从man update-rc.d :
update-rc.d有两种操作模式将脚本安装到引导序列中。 使用命令行参数决定序列和运行级configuration的传统模式,以及使用init.d脚本LSB注释头中的依赖性和运行级别信息的默认模式。 这样的头文件需要存在于init.d脚本中。 有关LSB头格式的详细信息,请参阅insserv(8)手册页。