文档章节

linux中java 里面启动 重启 停止jar 的 shell

小木头的冬天
 小木头的冬天
发布于 2017/02/14 11:19
字数 207
阅读 101
收藏 1
#!/bin/bash
# chkconfig: 2345 85 85
# processname: daily
# Created By: ninglong (bhd2973@qq.com)

#JDk 临时设置jdk所在的路径 ,本脚本有效  
#export JAVA_HOME=/home/java/jdk1.8.0_60      
#export PATH=$JAVA_HOME/bin:$PATH

PROG=daily
PIDFILE=daily.pid

status() {
    if [ -f $PIDFILE ]; then
        PID=$(cat $PIDFILE)
        if [ ! -x /proc/${PID} ]; then
            return 1
        else
            return 0
        fi
    else
        return 1
    fi
}

case "$1" in
    start)
        status
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            echo "$PIDFILE exists, process is already running or crashed"
            exit 1
        fi
        
        echo "Starting $PROG ..."
        nohup java -jar daily.jar >logs/run.log 2>&1 &
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            echo "$PROG is started"
            echo $! > $PIDFILE
            exit 0
        else
            echo "Stopping $PROG"
            rm -f $PIDFILE
            exit 1
        fi
        ;;
    stop)
        status
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            echo "Shutting down $PROG"
            kill `cat $PIDFILE`
            RETVAL=$?
            if [ $RETVAL -eq 0 ]; then
                rm -f $PIDFILE
            else
                echo "Failed to stopping $PROG"
            fi
        fi
        ;;
    status)
        status
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            PID=$(cat $PIDFILE)
            echo "$PROG is running ($PID)"
        else
            echo "$PROG is not running"
        fi
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        ;;
esac

 

© 著作权归作者所有

共有 人打赏支持
小木头的冬天
粉丝 12
博文 88
码字总数 37404
作品 0
长沙
架构师
私信 提问
多个平台的 Java Launcher 脚本

通常对于服务来说,过长的命令往往让人感到厌烦,人们需要的只是简单的操作,并且能够支持复杂的功能,对于 Java 开发的服务来说更是如此。 一个比较复杂的 Jar 服务使用Java启动,命令如下 ...

Force武装卫队
2015/06/09
0
8
请教linux下java调用shell实现自动重启的问题

应用场景是实现java程序的远程升级,java程序运行在linux下,是一个后台一直运行的服务。 大概流程如下: 1.java程序判断接收到升级包,调用linux shell脚本来进行升级 Runtime.getRuntime()...

风之刀
2017/06/06
155
0
Linux后台运行java -jar

问题描述 我打好的jar包,放在服务器上之后,在windows里面用xshell打开一个连接,然后运行java -jar 。。。。执行这个jar文件,当我关闭这个链接的时候为什么程序停止了呢? 打开XShell连接...

汪纬
04/12
0
0
jenkins持续化集成中注意的3个小问题

1、权限 我们从git拉取项目下来并且用maven编译成功后,执行shell的时候,一般在遇到kill,mv的时候都会有一个没有权限的问题,最简单的办法就是把root权限直接给jenkins,配置如下 vim /etc...

算法之名
05/28
0
0
geekidea/spring-boot-assembly

spring-boot-assembly 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip 将spring boot项目中的配置文件提取到外部config目录中 将spring boot项...

geekidea
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统...

编程SHA
20分钟前
5
0
年度大盘点:机器学习开源项目及框架

摘要: 2018年马上就要结束了,我们来回顾一下过去的这一年中,机器学习领域有哪些有趣的事情吧! 我们先来看看Mybridge AI 中排名靠前的顶级开源项目,再聊聊机器学习今年都有哪些发展,最后...

阿里云官方博客
24分钟前
4
0
15个Spring的核心注释示例

众所周知,Spring DI和Spring IOC是Spring Framework的核心概念。让我们从org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Spring核心注......

java菜分享
26分钟前
0
0
[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [...

honeymose
34分钟前
2
0
renderer

renderer Function 单元格绘制处理函数,同drawcell事件。

architect刘源源
54分钟前
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部