linux 添加 service 服务并自动添加 chkconfig 启动级别
下面以添加一个叫做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 启动级别的更多相关文章
- php-fpm添加service服务
原文:http://blog.csdn.net/whatday/article/details/50659992 php-fpm在5.3.2版本以后不支持service php-fpm start等命 ...
- [linux] vim在源代码中自动添加作者信息(转载)
原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...
- Linux架设DDNS服务器之自动更新脚本
问题描述:客户端是动态IP,每次连网之后要nsupdate下才可以把客户端的hostname 与IP映射更新到DNS Server上 命令如下: nsupdate -k K*****.key > ...
- 把ngnix注册为linux服务 将Nginx设置为linux下的服务 并设置nginx开机启动
一.创建服务脚本 vim /etc/init.d/nginx 脚本内容如下 #! /bin/sh# chkconfig: - 85 15 PATH=/usr/local/nginx/sbin/ DES ...
- 添加service到SystemService硬件服务
添加service到SystemService: 添加硬件服务. 创建时间:2015年3月9日(星期一) 晚上11:07 | 分类:硬件驱动Android | 天气: 修改时间:2015年3月10日( ...
- PowerDesigner 如何添加每个表中共用的字段及自动添加注释
PowerDesigner 如何添加每个表中共用的字段: 有时候在创建表的时候会有一些共用的字段,但是每一张表都要去创建,这样做很麻烦,特别是这样重复的工作,稍不留意就会出现问题,实际上在PD中有这样 ...
- Linux设置程序开机自启动,系统命令chkconfig及linux /etc/rc.d/目录的详解
整理了linux下程序开启几种方式,转载相关博客做统一记录 <linux程序设置开机自启动>转载自:https://www.cnblogs.com/flcz/p/7691532.html ...
- systemd.service — 服务单元配置
转载:http://www.jinbuguo.com/systemd/systemd.service.html 名称 systemd.service - 服务单元配置 大纲 service.servi ...
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务
The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...
随机推荐
- [Nhibernate]对象状态
目录 写在前面 文档与系列文章 对象状态 瞬时态(Transient) 持久态(Persistent) 托管态(Detached) 对象状态转换 总结 写在前面 前面两篇文章介绍了SchemaExpo ...
- Hadoop 2.6.0+ZooKeeper+Hive HA高可用集群安装
http://blog.csdn.net/totxian/article/details/45248399
- [Network] 计算机网络基础知识总结
计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标 ...
- 第3月第13天 cpp模版 Iterator模式 proactor
1.模版除了传参,还可以自动创建.而传指针只是传参而已. template <class TYPE, class FUNCTOR, class ACE_LOCK, typename TIME_P ...
- Marquee 滚动参数
new marquee("Layer3", 2, 1, 989, 68, 20, 0, 0, 238); 参数说明:Layer3 :容器ID 2 :向上滚动(0向上 1向下 2向左 ...
- nginx+ISS 负载均衡 快速入门
第一:下载 http://pan.baidu.com/s/1dDwapbF 或者官网 http://nginx.org/en/download.html 启动服务: 直接运行nginx.exe,缺点控 ...
- winfrom 隐藏任务栏(win7)
1:新建winfrom 窗体应用程序 2:拖入contextMenuStrip.notifyIcon 2个控件 3:如图 4:code: 注意:复制控件事件要注册 using System; usin ...
- PHP多进程编程实例
这篇文章主要介绍了PHP多进程编程实例,本文讲解的是在Linux下实现PHP多进程编程,需要的朋友可以参考下 羡慕火影忍者里鸣人的影分身么?没错,PHP程序是可以开动影分身的!想完成任务,又觉得一个进 ...
- javascript实现简单多文件上传
该上传功能主要用到html5新属性FormData,通过XMLHttpRequest对象send到服务器,支持文件多选和多次选择.文件去重.移除已选文件等 1.html代码 <div class ...
- 一个漂亮的上传按钮input[type=file]
;;} <div class="input-group xj-file xj-panel-top"> <span class="input-group- ...