把应用服务写成系统服务

应用服务写成系统服务,方便日后自动化管理

#!/bin/bash
service_dir=/path/to/file
start() {
        ps ax | grep "APPLICATION" | grep -v grep >/dev/null 2>&1
        if [ $? -eq 0 ];then
                echo "APPLICATION Service is running!!!"
        else
                echo "Starting APPLICATIION Service..." 
                nohup java -jar $service_dir/APPLICATIION.jar prod >/dev/null 2>&1 &
        fi
}
stop() {
        echo "Stopping APPLICATION Service..." 
        kill `ps ax | grep "APPLICATION.jar" | grep -v grep | awk ‘{print $1}‘`
}

case "$1" in
        start)
                start
        ;;
        stop)
                stop
        ;;
        restart)
                stop
                start
        ;;
        status)
        tail -n 1 $service_dir/logs/log.txt
        ;;
        *)
        echo "Usage: $0 {start|stop|restart|status}" 
        exit 1
        ;;
esac
exit 0

此脚本还可配合crontab 和 服务监控脚本 一起,实现服务状态不正常时自动重启的功能

时间: 2024-11-05 11:50:37

把应用服务写成系统服务的相关文章

用go写爬虫服务并发请求,限制并发数

java写爬虫服务,思路是线程池,任务队列,限制并行线程数即可. go要用另一种设计思路,不能在线程层面限制,协程的异步请求,如果不作处理,并行发出所有网络请求,因网络请求数过多,会抛出异常 低版本的go可以并行执行map的操作,高版本会报异常,需要把map改为array,改起来很简单 func updateAllShowTimePeople() { //得到要请求的url,多批次请求 allurls := getShowTimeTypeIndexFromDB() //要请求的任务总数 allu

用python写windows服务

用python写windows服务(1) 以python2.5 为例需要软件 * python 2.5        * pywin32(与2.5 版本相匹配的) Service Control Manager (SCM) 服务管理器(SCM) 是windows NT的 一部分,所有服务必须通过SCM 注册,SCM负责启动,停止服务等. 当一个进程通过SCM注册后, 有如下特质: * 运行该进程的用户,未必是当前登录的用户.        * 该进程如果依赖其他服务,哪么该服务启动前,依赖服务回

c#写windows服务

c#写windows服务 序言 前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总结下,windows服务的编写,调试,安装卸载. Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务

linux平台下apache的源码安装和将apache服务配置成系统服务

安装apache服务 下载apache源码包 # tar -zxvf http-2.2.29.tar.gz # cd http-2.2.29 #   ./configure --prefix=/usr/local/apache  --enable-so --enable-cgi #   make #   make install 配置成系统服务: #  cp /usr/local/apache/bin/apachectl /etc/init.d/httpd #  cp /usr/local/ap

angular入门-如何写一个服务

服务的好处暂且不讨论,先写, 1.定义模块 2.利用工厂方法写服务 3.注入到controller 1. 1 <!doctype html> 2 <html ng-app="myApp"> 3 <head> 4 <script src="angular.js"></script> 5 <style type="text/css"> 6 .btn{ 7 width: 60px;

不用写Windows服务实现定时器功能(FluentScheduler )

链接:http://www.cnblogs.com/mafly/p/FluentScheduler.html MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自己的舒适区,社会丝毫没有创新与进步而言. 其实, USB Type-C 接口协议在三年前几个科技巨头公司就参与制定了协议,并答应要在自家的产品上推广它,但谁都怕一下子在自家产品上升级 USB

将java程序注册成系统服务

网上有帖子说有两个开源项目可以实现将java程序注册成系统服务 先记录下来,后续研究 1) http://sourceforge.net/projects/wrapper/ Configurable tool which allows Java applications to be installed and controlled like native NT or Unix services. Includes fault correction software to automaticall

PHP写webservice服务端

1) WebService技术介绍 WebService是一种跨编程语言和跨操作系统平台的远程调用技术.仅仅有通过Web Service,client和server才可以自由的用HTTP进行通信.不论两个程序的平台和变成语言是什么. XML.SOAP和WSDL是Web Service平台的三大技术: WebService採用HTTP协议数据传输.採用XML格式封装数据,即XML中说明调用远程服务对象的哪个方法.传递的參数是什么.以及服务对象的返回结果是什么. XML是WebService平台中表

C# 使用vs2013 写 windows服务

第一步:添加windows服务项目 并起一个 好看的名字 第二步:添加安装程序 第三步:右键点击serviceProcessInstaller1属性,在Account中选择LocalSystem 第四步:右键点击serviceInstaller1 属性,在serviceName修改自己服务需要的名称 第五步:点击ServerTest选择查看代码 OnStart 是服务启动时 会运行的 启动方法  我们一般会用一个线程去定义 OnStop 是 服务停止时 会运行的方法,一般写一些 资源回收的方法