[笔记] /etc/init.d/ 下脚本的通用结构
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/ 下脚本的通用结构的更多相关文章
- CentOS7下利用init.d启动脚本实现tomcat开机自启动
在之前的博文中已经对CentOS7下通过tomcat进行WEB系统的发布进行了介绍,今天将利用init.d启动脚本,将服务脚本加入到开机启动服务队列,实现tomcat服务的开机启动. 1. 环境准备 ...
- powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口
powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...
- (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...
- WPF 学习笔记-在WPF下创建托盘图标
原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...
- linux下脚本监控网络流量
linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...
- Angular复习笔记7-路由(下)
Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使 ...
- Android init介绍(下)
上一篇请参考<Android init介绍(上)> 5. AIL 在init启动过程中,系统服务等均是通过解析rc文件来启动,而rc文件则是由Android初始化语言(Android In ...
- Spark学习笔记3——RDD(下)
目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...
- Docker学习笔记二(linux下安装Docker)
Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...
随机推荐
- selenium webdriver使用过程中出现Element is not currently visible and so may not be interacted with的处理方法
参考文章: http://blog.csdn.net/passionboyxie/article/details/28661107 http://www.spasvo.com/ceshi/open/k ...
- UESTC_秋实大哥与战争 2015 UESTC Training for Data Structures<Problem D>
D - 秋实大哥与战争 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Subm ...
- ntp服务器池列表
CentOS: 0.centos.pool.ntp.org 1.centos.pool.ntp.org 2.centos.pool.ntp.org 国内可用的 ntp.fudan.edu.cn 复旦 ...
- ERROR: HHH000388: Unsuccessful: create table
做SSH整合的时候,总是出现错误信息: 类似这样: : HHH000388: Unsuccessful: create table right (right_code varchar(255) not ...
- PHP 文件打开/读取
PHP Open File - fopen() 打开文件的更好的方法是通过 fopen() 函数.此函数为您提供比 readfile() 函数更多的选项. 在课程中,我们将使用文本文件 "w ...
- python代码打印行号,文件名
python 获取当前代码行号 import sys print "here is :",__file__,sys._getframe().f_lineno
- HMM的学习笔记1:前向算法
HMM的学习笔记 HMM是关于时序的概率模型.描写叙述由一个隐藏的马尔科夫链随机生成不可观測的状态随机序列,再由各个状态生成不可观測的状态随机序列,再由各个状态生成一个观測而产生观測的随机过程. HM ...
- 【小知识+小细节】不断更新ing...
1.printf printf("%.0lf",k) 输出的不是floor(k) 而是k四舍五入 ..才发现.xlf 都是四舍五入取x位 2.cin char buff[300] ...
- bootstrap插件小记
1.模态框 除了通过data-toggle和data-target来控制模态弹出窗之外,Bootstrap框架针对模态弹出框还提供了其他自定义data-属性,来控制模态弹出窗.比如说:是否有灰色背景m ...
- 转:说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服 ...