LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2110|回复: 4

suse 10 的启动脚本到底是在什么目录下?/etc/rc.d/ 还是/etc/init.d/?

[复制链接]
发表于 2005-11-20 21:49:14 | 显示全部楼层 |阅读模式
/etc/rc.d和/etc/init.d/目录下好像都是相同的脚本文件,启动到底执行的是哪个呢?
我的一个脚本在/etc/rc.d/rc.3 和/etc/rc.d/rc.5下都配置了符号连接,可是就是启动不了,可直接在命令行运行可以启动该服务?

p.s. suse 的启动是从1-〉5及逐级启动的吗?比如说我设置init 到5,一个服务我希望它在3,5都运行,那我需要在rc3.d和rc5.d下都建立符号连接马?还是只需要建立rc.3级别的就好,谢谢各位
发表于 2005-11-20 22:52:32 | 显示全部楼层
/etc/rc.d 是指向/etc/init.d的连接,启动脚本放在/etc/init.d下,然后符号连接到
/etc/init.d/rc*.d下,注意一下启动的序号,建议用chkconfig 命令增加,比如要在级别
5下运行脚本abc 可以用命令添加 #chkconfig -a abc 5
另外,脚本的编写要符合规范,采用下面的格式,要注意脚本的依赖关系,比如一个脚本依赖网络
那必须在network后启动,否则肯定是起不来的
#! /bin/sh
# Copyright (c) 1995-2001 SuSE GmbH Nuremberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#
# Author: Stephan Müller <smueller@suse.de>
#
# /etc/init.d/zebra
#

### BEGIN INIT INFO
# Provides:       zebra
# Required-Start: $network
# Required-Stop:
# Default-Start:  2 3 5
# Default-Stop:
# Description:    Zebra-Daemon
### END INIT INFO


SUSE 不是逐级启动的,一个服务希望它在3,5都运行,那需要在rc3.d和rc5.d下都建立符号连接
不要手动添加了,chkconfig -a 脚本名 3 5 搞定
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-28 10:06:01 | 显示全部楼层
谢谢slurker ,原来是连接过去了,看来自己观察不仔细了,可是我的那个脚本还是不能运行,改了启动顺序到最后还是不行,奇怪,直接命令行执行就可以,
回复 支持 反对

使用道具 举报

发表于 2005-11-28 21:21:53 | 显示全部楼层
把你的脚本贴上来大家看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-29 11:42:46 | 显示全部楼层
#!/bin/sh
# $Id: gmond.init,v 1.2 2003/03/07 20:38:30 sacerdoti Exp $
#
# chkconfig: 2345 70 40
# description: gmond startup script
#
GMOND=/usr/sbin/gmond

#. /etc/rc.d/init.d/functions

RETVAL=0

case "$1" in
   start)
      echo -n "Starting GANGLIA gmond: "
      startproc $GMOND
      #[ -f $GMOND ] || exit 1

      #$GMOND
      #RETVAL=$?
      #echo
      #[ $RETVAL -eq 0 ] && touch /var/lock/subsys/gmond
        ;;

  stop)
      echo -n "Shutting down GANGLIA gmond: "
      killproc gmond
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/gmond
        ;;

  restart|reload)
           $0 stop
           $0 start
           RETVAL=$?
        ;;
  status)
           status gmond
           RETVAL=$?
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac

exit $RETVAL
我注释掉了一些咚咚,不知道是不是这个原因,谢谢slurker !
btw ,你也在南京?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表