有时我们需要将特定操作封装成服务,通过服务启动停止,例如nginx的启动停止,service nginx start 或者service nginx stop

下面我们将编写一个demo

cd /etc/init.d/

sudo vi test,建立一个service名称为test的服务

加入下面模版代码

#! /bin/sh
### BEGIN INIT INFO
# Provides: reboot
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: Execute the reboot command.
# Description:
### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/lsb/init-functions do_stop () {
# Message should end with a newline since kFreeBSD may
# print more stuff (see #)
log_action_msg "Will now restart"
reboot -d -f -i
} case "$1" in
start)
nohup /etc/init.d/test.sh >> b.log >& &
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&
exit
;;
esac

可以根据需要编写start方法以及stop方法

赋予执行权限

sudo chmod +x /etc/init.d/test

然后我们再写一个shell测试脚本

sudo vi test.sh

#!/bin/bash
int=
while(( $int<= ))
do
date >> ~/a.log
sleep
# let "int++"
done

赋予执行权限

sudo chmod +x /etc/init.d/test.sh

接下来,我们启动服务

service test start

查看服务是否已经启动

tail -f ~/a.log

会看到不断的打印时间

这说明我们的脚本已经以服务的形式启动起来了。

最新文章

  1. Service之来电监听(失败的案例)
  2. 颜色缩减(带Trackbar)【从毛星云Opencv3编程入门P75 P111例程改编】
  3. 超赞值得一试的六款jQuery插件和CSS3应用
  4. WCF启用Session
  5. Asp.net: WebForm基础上构建Mvc的方法
  6. linux命令之删除
  7. Samza/KafkaAnalysizing
  8. 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
  9. is和as关键字
  10. Dubbo框架应用之(一)--服务体系
  11. phpstrom mac 快捷键
  12. 一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装(转载 https://www.cnblogs.com/alangur/p/8339905.html)
  13. 转载--关于hdfs
  14. js下拉列表
  15. python网站开发准备ubuntu14.04安装mysql实现windows管理
  16. Nginx ACCESS阶段 统一的用户权限验证系统
  17. SpringBoot-@value自定义参数
  18. CSS(一)属性--border边框
  19. python编写producer、consumer
  20. mybatis入门基础----高级映射(一对一,一对多,多对多)

热门文章

  1. 【转】 Oracle 用户权限管理方法
  2. ef延迟加载不到导航属性问题
  3. sqlserver 获得行号作为唯一id
  4. 010-centos上安装matlab
  5. SV中的数据类型
  6. mongodb权限
  7. VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)
  8. “System.Data”中不存在类型或命名空间名称“TypedTableBase”
  9. 论文笔记:Emotion Recognition From Speech With Recurrent Neural Networks
  10. 深入浅出JavaScript运行机制