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 ...
随机推荐
- C++ Socket UDP "Hello World!"
这是C++ SOCKET网络程序中的C/S结构之UDP "Hello World !",共两个控制台工程: //////////////////////////////////// ...
- VS2008编译器编译出来的文件比mingw编译的要几乎小一半
为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半. 好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁.然 ...
- swift 学习资源
http://blog.csdn.net/sqc3375177/article/details/29206779
- http实现发送post请求,获取结果集
package com.ming; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.Ou ...
- 循环初练 for
class Program { static void Main(string[] args) { while (true) ...
- C# Winform 实现自定义半透明loading加载遮罩层
在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下: View Row Code 1 usi ...
- 【转】 Android BCM4330 蓝牙BT驱动调试记录
原文网址:http://blog.csdn.net/dwyane_zhang/article/details/7180779 网上关于BT的驱动很少,所以我在开发过程中把其中的步骤记录下来.供大家相互 ...
- IIS服务器设置造成引用第三方权限不足问题
使用IIS部署站点,报以下错误: Exception Details: System.Security.SecurityException: That assembly does not allow ...
- WP8模拟器需要BIOS开启虚拟化支持(转载)
在BIOS里启用hypervisor和virtualization,然后安装WP8 SDK. 如果出现“当前用户未添加到Hyper-V管理组时”, 以管理员身份运行CMD: net localgrou ...
- octopress Endless Error With Gem Dependencies
因为重装系统的缘故,需要重新搭建octopress环境,在执行到: bundle install 会出现一些这样的错误:An error occurred while installing timer ...