下面以添加一个叫做watchcat的服务为例进行说明:

1、写一个提供给service命令使用的脚本

service 命令的使用方法一般如下

启动:

$ service watchcat start

停止:

$ service watchcat stop

重启:

$ service watchcat restart

所以这个watchcat脚本就需要至少接受这三个命令

大概如下:$ cat watchcat

#!/bin/bash

function start_cat()
{
echo "cat run ..."
} function stop_cat()
{
echo "cat stop ..."
} case "$1" in
start)
start_cat
;; stop)
stop_cat
;; restart)
stop_cat
start_cat
;;
*)
echo "Usage : start | stop | restart"
;;
esac

注:这个脚本不是最终脚本,还不能作为服务使用

2、还需要让这个脚本被 chkconfig 支持

其实这个很重要,那就是在刚刚的脚本上面添加几行注释,这几行只是是用来给chkconfig使用的。也就是说,当chkconfig 看到这几行注释的时候,它是不会把这几行当做注释的。

完整的脚本如下:

 #!/bin/bash
#
# watchcat start/stop cats
#
# chkconfig: 12345 80 90
# description: start/stop cats
#
### BEGIN INIT INFO
# Description: start/stop cats
### END INIT INFO function start_cat()
{
echo "cat run ..."
} function stop_cat()
{
echo "cat stop ..."
} case "$1" in
start)
start_cat
;; stop)
stop_cat
;; restart)
stop_cat
start_cat
;;
*)
echo "Usage : start | stop | restart"
;;
esac

现在这个脚本算是可以正式使用了。

上面代码的第5行是必须的,这是给chkconfig看的。

第5 行的12345是表示这个watchcat 程序是需要在系统的运行级别为1、2、3、4、5的时候都进行启动的。80和90 的意思是在rc1.d/~rc5.d/目录下建立S80xxxxx和K90xxxxx的链接文件的。

3、配置watchcat的service支持

首先给watchcat添加可执行权限:

$ chmod  watchcat

把脚本添加复制到/etc/init.d/目录下

$ cp watchcat /etc/init.d/
cp: cannot create regular file `/etc/init.d/watchcat': Permission denied
$ sudo cp watchcat /etc/init.d/

此时就可以使用service进行控制了,如下:

$ service watchcat start
cat run ...
$ service watchcat stop
cat stop ...

4、然并卵,这只是完成了手动控制的阶段,还需要开机启动

先查看一下:
$ chkconfig --list watchcat
service watchcat supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add watchcat')
说我们没有添加这个叫watchcat的服务,所以进行添加:
$ chkconfig --add watchcat
You do not have enough privileges to perform this operation.
$ sudo chkconfig --add watchcat
检查添加后的结果:
$ chkconfig --list watchcat
watchcat :off :on :on :on :on :on :off

这样就完成了。

引用文献:

http://www.cnblogs.com/jimeper/archive/2013/03/12/2955687.html

http://www.linuxidc.com/Linux/2015-01/111438.htm

linux 添加 service 服务并自动添加 chkconfig 启动级别的更多相关文章

  1. php-fpm添加service服务

    原文:http://blog.csdn.net/whatday/article/details/50659992 php-fpm在5.3.2版本以后不支持service php-fpm start等命 ...

  2. [linux] vim在源代码中自动添加作者信息(转载)

    原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...

  3. Linux架设DDNS服务器之自动更新脚本

    问题描述:客户端是动态IP,每次连网之后要nsupdate下才可以把客户端的hostname 与IP映射更新到DNS Server上 命令如下: nsupdate -k K*****.key > ...

  4. 把ngnix注册为linux服务 将Nginx设置为linux下的服务 并设置nginx开机启动

    一.创建服务脚本 vim /etc/init.d/nginx 脚本内容如下 #! /bin/sh# chkconfig: - 85 15 PATH=/usr/local/nginx/sbin/ DES ...

  5. 添加service到SystemService硬件服务

    添加service到SystemService: 添加硬件服务. 创建时间:2015年3月9日(星期一) 晚上11:07 | 分类:硬件驱动Android | 天气: 修改时间:2015年3月10日( ...

  6. PowerDesigner 如何添加每个表中共用的字段及自动添加注释

    PowerDesigner 如何添加每个表中共用的字段: 有时候在创建表的时候会有一些共用的字段,但是每一张表都要去创建,这样做很麻烦,特别是这样重复的工作,稍不留意就会出现问题,实际上在PD中有这样 ...

  7. Linux设置程序开机自启动,系统命令chkconfig及linux /etc/rc.d/目录的详解

     整理了linux下程序开启几种方式,转载相关博客做统一记录 <linux程序设置开机自启动>转载自:https://www.cnblogs.com/flcz/p/7691532.html ...

  8. systemd.service — 服务单元配置

    转载:http://www.jinbuguo.com/systemd/systemd.service.html 名称 systemd.service - 服务单元配置 大纲 service.servi ...

  9. Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

    The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...

随机推荐

  1. 大熊君学习html5系列之------XHR2(XMLHttpRequest Level 2)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...

  2. log4j的使用详细解析

    1 Log4j配置说明 1.1 配置文件Log4j可以通过java程序动态设置,该方式明显缺点是:如果需要修改日志输出级别等信息,则必须修改java文件,然后重新编译,很是麻烦: log4j也可以通过 ...

  3. JavaScript 冒泡排序和选择排序

    var array = [1,2,3,4,5]; // ---> 服务 //效率 ---> 针对一个有序的数组 效率最高 //标志 true false for(var j = 0; j ...

  4. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable

    声明:此文转载自博客开发团队的博客,尊重原创工作.该文适合学分布式系统之前,作为背景介绍来读. 谈到分布式系统,就不得不提Google的三驾马车:Google FS[1],MapReduce[2],B ...

  5. shell--4.echo和printf

    1. echo (1) echo ,显示普通字符串 echo "HelloWorld" 打印:HelloWorld (2) \ ,显示转义字符串 echo "\" ...

  6. android 项目中如何引入第三方jar包

    http://www.360doc.com/content/13/0828/08/11482448_310390794.shtml

  7. Gyro

    Gyro 2 Plugin gyro2.jsVersion 1.19HTML5 only 本插件使用手机或平板设备上的陀螺仪和加速度传感器来控制krpano中的浏览和观看方向.Gyro2插件对比旧的陀 ...

  8. JS 删除对象属性

    updateNode: function(data) { if(data) { this.root[data.id] = data; } }, removeNodes: function(idsArr ...

  9. SQL Server 日期和时间函数

    http://www.cnblogs.com/adandelion/archive/2006/11/08/554312.html 1.常用日期方法(下面的GetDate() = '2006-11-08 ...

  10. day2

    三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...