ubuntu自定义服务模板
根据他人代码修改:
#!/bin/sh
### BEGIN INIT INFO
# Provides: <pragram name>
# Required-Start: $local_fs $network $named $time $syslog
# Required-Stop: $local_fs $network $named $time $syslog
# Default-Start:
# Default-Stop:
# Description: shrpx proxy
### END INIT INFO PROG= #<pragram name>
PIDFILE= #<pid file full path>
LOGFILE= #<log file full path> start() {
if [ -f $PIDFILE ]; then
if ! pgrep $PROG; then
echo "Terminate abnormaly last time!"
rm -f $PIDFILE
else
echo 'Service already running' >&
return
fi
fi if [ -n "$PIDFILE" ];then
PIDFILE="&1"
fi echo 'Starting service...' if $PROG >$LOGFILE; then
echo 'Service started'
else
echo 'Start failed!' >&
fi
} stop() {
if [ ! -f "$PIDFILE" ]; then
echo 'Service not running' >&
return
fi
echo 'Stopping service…' >&
kill -KILL $(cat "$PIDFILE")
rm -f "$PIDFILE"
echo 'Service stopped' >&
} status(){
if [ -f "$PIDFILE" ];then
echo "$PROG is running"
else
echo "$PROG is stopped"
fi
} uninstall() {
echo "Are you really sure you want to uninstall this service?"\
"That cannot be undone. [yes|No] "
local SURE
read SURE
if [ X"$SURE" = "Xyes" ]; then
stop
if [ -f $PIDFILE ]; then
rm -f "$PIDFILE"
fi
echo "Notice: log file is not be removed: '$LOGFILE'" >&
update-rc.d -f $PROG remove
rm -fv "$0"
fi
} case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
retart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|status|restart|uninstall}"
esac
使用方法:cp到/etc/init.d/下面,修改<>里面的内容,然后使用update-rc.d管理服务;
添加一个服务:sudo update-rc.d srv_name defaults
删除一个服务 :sudo update-rc.d–f srv_name remove
default表示的是服务的运行优先级,默认是20,数字越小优先级越高。
以后就会开机自启动了,使用sudo service srv_name start|stop|status|restart|uninstall来做临时性的管理。
ubuntu自定义服务模板的更多相关文章
- Ubuntu自定义服务
1.准备脚本 准备好一个bash服务脚本,包括start|stop|restart等参数,将脚本文件命名为“服务名”,拷贝到/etc/init.d/目录下. 2.添加服务sudo update-rc. ...
- Ubuntu下使用Sysvinit实现自定义服务(简单研究)
通过上一篇文章http://www.cnblogs.com/EasonJim/p/7168216.html可以大概了解到Sysvinit的历史. 其实在自定义服务上,使用Sysvinit是最简单的,本 ...
- 用Visual Studio2019自定义项目模板
项目模板简介 众所周知,在我们使用VS新建项目时,都需要选择一个项目模板,如下图: 我们选择完项目模板进行创建,创建完成之后,可以发现项目中已经包含了一些基础的文件.例如MVC: 可以看到,MVC项目 ...
- VS2019 自定义项目模板
前言: 使用"宇宙最强IDE"开发项目时,都需要根据不同情况选择一个项目模板,来满足开发需求:如下 VS为我们提供了基础的项目模板,但现有项目模板未包含基础功能如:日志输出.审计日 ...
- .NET Core - 自定义项目模板
前言: 前面介绍 自定义项目模板 中介绍了一种简单的方式--通过创建项目导出为项目模板方式实现.本次将采用dotenet cil(手脚架)来创建项目模板. 那么,我们首先看下当前dotnet 支持的项 ...
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(四):自定义T4模板快速生成页面
前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一个什么工具直接生成页面效果,啥代码都不用写了,那该多爽.于是研究了下T4 ...
- VS自定义项目模板:[2]创建VSIX项目模板扩展
VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...
- angularjs 自定义服务的三种方式
angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式: // 定义module , module中注入$providevar ...
- angularJs自定义服务(实现签名和加密)
写在前面: angularJS是google公司主推的js开发优秀框架... 页面展示: 在应用中进行加密是普遍存在的,个人建议在前端实现加密签名(前端加密是否必要来自知乎:http://www.zh ...
随机推荐
- 李洪强漫谈iOS开发[C语言-029] - 关系运算符
- android 双向滑动 seekbar
实现原理: 1.自定义View,在onDraw(Canvas canvas)中,画出2个Drawable滑动块,2个Drawable滑动条,2个Paint(text) 2.监听onTouchEvent ...
- linux下解压缩jar包
在部署项目是需要对jar中的文件进行编辑,这就要在linux命令行下对jar进行解压缩操作. 比如有个jar包,/usr/local/EtnetChinaApplication.jar 解包到临时目录 ...
- 在Eclipse中安装和使用TFS插件
在Eclipse中安装插件的方法其实都一样,安装TFS的步骤如下: 下载TFS插件.你可以到微软的下载中心,下载TFS插件TFSEclipsePlugin-UpdateSiteArchive-10.0 ...
- 《C语言程序设计现代方法》第4章 编程题
1 编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数. 方法一:没技术含量的 #include <stdio.h> int main() { int high, low; ...
- Android开发必知--WebView加载html5实现炫酷引导页面
大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5 ...
- ajax_demo:GET POST发送数据
GET,通过url发送数据 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- opencv 中文文档地址
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
- Linux程序设计(二)shell程序设计
1. 管道和重定向 文件描述符0:一个程序的标准输入 文件描述符1:标准输出 文件描述符2:标准错误输出 >操作符:把标准输出重定向到一个文件. >>操作符:将输出内容附加到一个文件 ...
- VirtualBox上Ubuntu 共享文件夹
1. virtualbox 菜单栏中设备-->共享文件夹,添加一个共享文件夹,比如共享文件夹路径是D:/share,共享文件夹名称是share. 2. 进入虚拟Ubuntu,在命令行终端输入: ...