http://sunxiaqw.blog.163.com/blog/static/99065438201111715813443/

下面以 named 为例 :

#!/bin/bash

#

# named           This shell script takes care of starting and stopping        # 注释 :给出脚本的作用

#                 named (BIND DNS server).

#

# chkconfig: - 55 45                                                                               # 注释 :给出 named 的启动/关闭级别 ,例如

/etc/rc3.d/S55named -> ../init.d/named

/etc/rc6.d/K45named -> ../init.d/named

chkconfig: 345 85 15 (这个比较有意思,345代表在设置在那个level中是on的,如果一个都不想on,那就写一个横线"-",比如:chkconfig: - 85 15。后面两个数字当然代表S和K的默认排序号啦)
# description: Apache is a World Wide Web server.  It is used to serve \ 
#              HTML files and CGI. 
# processname: httpd 
# pidfile: /var/run/httpd.pid 
# config: /usr/local/apache2/conf/httpd.conf (我装东西比较喜欢都放在/usr/local下)

# Source function library.
. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/httpd ]; then
       . /etc/sysconfig/httpd
fi

INITLOG_ARGS=""

apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}

prog="httpd"

start()
{
    ps -ef | grep "$prog" | grep -v "grep" | grep -v "start" > /dev/Null
    if [ "$?" -eq "1" ]; then
        echo -n $"Starting $prog: "
        daemon $httpd $OPTIONS
        ret=$?
        echo
        [ "$ret" -eq "0" ] && touch /var/lock/subsys/httpd
        return 0
    else
        echo "httpd running"
        return 0
    fi
}

stop()

{
    status httpd >/dev/Null >&1
    ret_status=$?
    if [ $ret_status -eq 2 ]; then
        rm -f /var/lock/subsys/httpd /var/run/httpd.pid
        echo "httpd stopped"
        return 0
    elif [ $ret_status -eq 3 ]; then
        echo "httpd stopped"
        return 0
    fi
    echo -n $"Stopping $prog: "
    killproc $httpd
    ret=$?
    echo
    [ "$ret" -eq "0" ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
    return 0
}

case "$1" in
    start)
       start
       ;;
    stop)
       stop
       ;;
    status)
       status httpd
       ;;
http://msnpiki.msnfanatic.com/index.php/Main_Page-->

详细出处参考:http://www.itqun.net/content-detail/194818.html

# description: named (BIND) is a Domain Name Server (DNS) \                  # 注释 ;描述所启动的服务的作用

# that is used to resolve host names to IP addresses.

# probe: true

# Source function library.                                                                         # 注释 :这个也是固定的,functions 脚本提供了公用的函数

. /etc/rc.d/init.d/functions

# Source networking configuration.                                                            # 注释 :这个也比较常用,用于获得网络的一些基本信息

[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network

RETVAL=0                                                                                             # 注释 :

prog="named"                                                                                        # 注释 :

# Check that networking is up.                                                                 # 注释 :检查网络是否已经启动

[ "${NETWORKING}" = "no" ] && exit 1                                                       # 注释 :NETWORKING 变量来自于 /etc/sysconfig/network文件

如果等于 no 则退出,返回 1

[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named                                 # 注释 :如果存在 /etc/sysconfig/named 且可读,则执行它

该文件保存了 named 启动的选项

[ -x /usr/sbin/named ] || exit 1                                                                 # 注释 :如果存在 /usr/sbin/named 且继续,否则退出,返回1

[ -r ${ROOTDIR}/etc/named.conf ] || exit 1                                                # 注释 :如果存在 $ROOTDIR/etc/named.conf 且可读,则继续,否则

返回1。ROOTDIR 变量来自于 /etc/sysconfig/named文件

下面是最重要的函数定义,有 start()、stop()、status()、reload()、restart()probe()

下面是 case 语句 ,就是 start、stop、reload、restart 这些了

[笔记] /etc/init.d/ 下脚本的通用结构的更多相关文章

  1. CentOS7下利用init.d启动脚本实现tomcat开机自启动

    在之前的博文中已经对CentOS7下通过tomcat进行WEB系统的发布进行了介绍,今天将利用init.d启动脚本,将服务脚本加入到开机启动服务队列,实现tomcat服务的开机启动. 1. 环境准备 ...

  2. powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口

    powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...

  3. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

  4. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  5. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  6. Angular复习笔记7-路由(下)

    Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使 ...

  7. Android init介绍(下)

    上一篇请参考<Android init介绍(上)> 5. AIL 在init启动过程中,系统服务等均是通过解析rc文件来启动,而rc文件则是由Android初始化语言(Android In ...

  8. Spark学习笔记3——RDD(下)

    目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...

  9. Docker学习笔记二(linux下安装Docker)

    Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...

随机推荐

  1. 转:使用C#的HttpWebRequest模拟登陆网站

    这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据. ...

  2. 【转】Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法

    原文网址:http://www.cnblogs.com/muyun/p/3370996.html 一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install ...

  3. [转]UltraISO制作U盘启动盘安装Win7/9/10系统攻略

    原文地址:http://www.cnblogs.com/pchmonster/p/4716708.html U盘安装好处就是不用使用笨拙的光盘,光盘还容易出现问题,无法读取的问题.U盘体积小,携带方便 ...

  4. UESTC_Ferris Wheel String 2015 UESTC Training for Search Algorithm & String<Problem L>

    L - Ferris Wheel String Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 43000/43000KB (Java/ ...

  5. 【剑指offer】面试题22:栈的压入、弹出序列

    题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列 ...

  6. poj 1020 Anniversary Cake(切正方形蛋糕+搜索)

                                                                                                         ...

  7. 对数组元素进行排序的方法总结(利用C++)

    首先,对数组元素进行排序方法总结为以下两类: 一.简单排序算法(时间复杂度O(n*n)) 1.插入排序 2.选择排序 3.交换排序,即冒泡排序 二.先进排序算法(时间复杂度O(n*logn)) 1.快 ...

  8. 对‘pthread_create’未定义的引用

    由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-l pthread参数: gcc exampl ...

  9. 简述uwsgi使用一个服务启动多个文件的用法

    [场景篇] 为了节省端口的占用,将N个flask应用服务——每个对应一个文件(web.py.django也一样)合并为一个端口服务来启用 [寻思篇] 通常的做法:每个文件配置一个xml 或者 ini文 ...

  10. 转:Xshell显示找不到匹配的outgoing encryption算法怎么办

    原文出处:http://www.xshellcn.com/xsh_column/suanfa-bpp.html 由用户反应在使用xshell和xftp连接debian 7时出现找不到匹配的outgoi ...