下面以添加一个叫做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. Canvas绘制渐变

    1.绘制线性渐变 Canvas提供了用于创建线性渐变的函数createLinearGradient(x0,y0,x1,y1),坐标点(x0,y0)是起点 ,(x1,y1)是终点 创建一个渐变色 var ...

  2. github上readme.md 格式

    参考:https://github.com/guoyunsky/Markdown-Chinese-Demo/edit/master/README.md

  3. 深入理解javascript原型和闭包(2)——函数和对象的关系

    上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...

  4. Holt-Winters原理和初始值的确定

      关于模型 (来自以下PPT,从第4页开始)   关于初始值: 以下文档给出了三个模型的初始值计算的思路. 大致思路如下,建立一个p阶移动平均模型,估计出参数即为初始值,具体的根据三种不同的模型,有 ...

  5. 用jsp的application写一个记录用户登陆网站的数量

    </head><body><%int i = 0;Object number = application.getAttribute("num");if ...

  6. 如何挂载阿里云Linux服务器的“数据盘”(新购买)

    详细操作参考: http://jingyan.baidu.com/article/90808022d2e9a3fd91c80fe9.html 用到的命令行汇总: 1.查看磁盘: fdisk -l 2. ...

  7. 【Alpha版本】 第三天 11.9

    一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 注册界面的实现 填写招聘时用户填写各个日期到可以使用工具方便选择日 ...

  8. linux mingling

    grep 文本搜索工具 -i 忽略大小写 -v 不显示匹配行 -c 显示符合条件的行数值 文本搜索支持正则表达式 1 2 3 cat /etc/passwd | grep root // 显示包含ro ...

  9. HikariCP

    HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池. 为何要使用HiKariCP?这要先从BoneCP说起: 什么?不是有C3P0/DBCP这些成熟的数据库连接池吗 ...

  10. Bootstrap3 CSS样式基本用法总结

    按钮 a,input,button都可以设置为按钮 a标签按钮   button标签按钮 <a class="btn btn-default" href="#&qu ...