Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47393
  • 博文数量: 37
  • 博客积分: 2421
  • 博客等级: 大尉
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 16:04
文章分类

全部博文(37)

文章存档

2010年(37)

分类: LINUX

2010-08-02 15:08:16

编写一个启动脚本,启动名为“foot”的守护进程(/usr/local/sbin/foo),它是一项网络服务。说明如何把它融入系统,在引导时刻自动启动。

Linux 系统管理手册习题 第二章 引导与关机 E2.5

脚本模型如下:

#cat /etc/init.d/foo

 
#!/bin/bash

#

# chkconfig: 35 90 12

# description: Foo server

#

 
# Get function from functions library

. /etc/init.d/functions
 
# Start the service foo

start() {
        initlog -c "echo -n Starting foo server: "
        /usr/local/sbin/foo &
        ### Create the lock file ###

        touch /var/lock/subsys/foo
        success $"FOO server startup"
        echo
}
 
# Restart the service foo

stop() {
        initlog -c "echo -n Stopping foo server: "
        killproc foo
        ### Now, delete the lock file ###

        rm -f /var/lock/subsys/foo
        echo
}
 
### main logic ###

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status foo
        ;;
  restart|reload|condrestart)
        stop
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac
 
exit 0


对于R系统,使用chkconfig –add foo 方式添加到系统里,如何使用chkconfig –level 的方式设定每一个运行级别的启动停止选项。对于D系统,脚本头需要加入一些LSB的信息进去,类似如下:

### BEGIN INIT INFO
# Provides: foo
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.


而后使用update-rc.d foo default,先加入到系统中,最后使用update-rc.d foo start 0123 stop 456来设定个运行级的启动停止情况。

阅读(528) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~