Chinaunix首页 | 论坛 | 博客
  • 博客访问: 268958
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 246
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-03 18:23
个人简介

qrasvasdf

文章分类

全部博文(99)

文章存档

2016年(1)

2015年(36)

2014年(62)

我的朋友

分类: LINUX

2014-10-15 10:09:03

需要将某个自己的程序设为系统服务,且随系统开机自动启动,需要完成一下几部:

一:创建服务脚本
   1,脚本头
#!/bin/bash
#
# chkconfig: - 57 75
# description: test service



### BEGIN INIT INFO
# Provides:          proxy
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the HTTP Proxy.
### END INIT INFO
解释:
# chkconfig: - 57 75 
第一段-,这个服务如果使用chkconfig开启时,设置那些启动级别开启,一般可以设为 2345这4个启动级别,或使用 - 系统默认,默认是2345
第二段57,表示在已设置为on的启动级别下,系统启动服务时的启动顺序,序号越小,越先被启动,设置时要考虑到本服务依赖的服务,不能比依赖的服务先启动。在/etc/rc.d/rc5.d/可以看到启动级别为5时的这些服务的顺序,以S开头表示启动服务,以K开头表示停止服务

第三段75,表示没有设置为on的启动级别下,系统停止服务是的顺序,序号越小,越先被停止



### BEGIN INIT INFO


### END INIT INFO 是一个固定格式



Provides: proxy   //表示此服务脚本提供的服务名称(不一定是脚本文件名),其他服务脚本中如果有依赖次服务的可以使用它 (注意与service命令区分,service 脚本名 命令,service后面跟的脚本名,默认去/etc/init.d下找此文件,其实是一个文件名)



# Required-Start:    $remote_fs   //启动时依赖的服务名
# Required-Stop:     $remote_fs //停止时依赖的服务名 
# Default-Start:     2 3 4 5      //chkconfig开启服务时,默认为on的启动级别
# Default-Stop:      0 1 6        //chkconfig开启服务时,默认为off的启动级别
 2,脚本总体框架示例
strt() {
echo "Starting test ..."
echo 3 >> /tmp/sunyu.txt
}
stop() {
echo "Stopping test ..."
echo 2 >> /tmp/sunyu.txt
}
# See how we were called.
case "$1" in
  start)
start
;;
  stop)
stop
;;
  restart|force-reload)
stop
start
;;
  *)
echo $"Usage: $0 {start|stop|restart|force-reload}"
exit 2
esac
二,设置开机启动
 1,将脚本拷贝到/etc/init.d下,且添加可执行权限
 2,chkconfig --add servicename


    chkconfig  servicename on

三,使用技巧
 1,修改服务启动顺序
   修改/etc/init.d/脚本文件,中的
   # chkconfig: 345 17 75  ////这里的17就是启动顺序,修改之,数越大顺序越靠后
    chkconfig重新添加此服务,并开启
    chkconfig --del servicename


    chkconfig --add servicename


    chkconfig  servicename on
2,设置服务为开机启动
    只将服务脚本拷贝到/etc/init.d下,可以使用service命令对服务操作,但是还没有做到开机自动启动
   chkconfig  --level 2345 servicename on   //开启此服务在2345系统级别下的自动启动功能

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