首页 > 系统相关 >linux的java服务启动,停止sh脚本

linux的java服务启动,停止sh脚本

时间:2024-02-03 16:45:33浏览次数:22  
标签:java License stop PID echo start sh FILE linux

#!/bin/bash

######################################################
# Copyright 2019 Pham Ngoc Hoai
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Repo: https://github.com/tyrion9/spring-boot-startup-script
#
######### PARAM ######################################

JAVA_OPT=-Xmx1024m
JARFILE=`ls -1r *.jar 2>/dev/null | head -n 1`
PID_FILE=pid.file
RUNNING=N
PWD=`pwd`

######### DO NOT MODIFY ########

if [ -f $PID_FILE ]; then
        PID=`cat $PID_FILE`
        if [ ! -z "$PID" ] && kill -0 $PID 2>/dev/null; then
                RUNNING=Y
        fi
fi

start()
{
        if [ $RUNNING == "Y" ]; then
                echo "Application already started"
        else
                if [ -z "$JARFILE" ]
                then
                        echo "ERROR: jar file not found"
                else
                        nohup java  $JAVA_OPT -Djava.security.egd=file:/dev/./urandom -jar $PWD/$JARFILE > nohup.out 2>&1  &
                        echo $! > $PID_FILE
                        echo "Application $JARFILE starting..."
                        tail -f nohup.out
                fi
        fi
}

stop()
{
        if [ $RUNNING == "Y" ]; then
                kill -9 $PID
                rm -f $PID_FILE
                echo "Application stopped"
        else
                echo "Application not running"
        fi
}

restart()
{
        stop
        start
}

case "$1" in

        'start')
                start
                ;;

        'stop')
                stop
                ;;

        'restart')
                restart
                ;;

        *)
                echo "Usage: $0 {  start | stop | restart  }"
                exit 1
                ;;
esac
exit 0

使用方法:

./bootstrap.sh stop

./bootstrap.sh start

./bootstrap.sh restart

 

标签:java,License,stop,PID,echo,start,sh,FILE,linux
From: https://www.cnblogs.com/liubaihui/p/18004903

相关文章

  • Java 中的Map集合
    Map1.Map接口中常用的方法importjava.util.Collection;importjava.util.HashMap;importjava.util.Map;/*java.util.Map接口中常用的方法:Map和Collection没有继承关系Map集合以key和value的方式存储数据:键值对key和value都是引用数据类型key和value都是存储对象的地......
  • 如何在 JavaScript 中验证 URL
    如何在JavaScript中验证URL统一资源定位符URL(UniformResourceLocator)引导你进入互联网上的一个页面或文件。URL是互联网上事物的地址。所有有效的URL都遵循某些模式。因此,如果你知道这些模式,你就可以在你的程序中确定一个URL是否有效,并给出反馈、抛出一个错误,等等。......
  • [EFI]英特尔 猛兽峡谷NUC11BTM电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板猛兽峡谷NUC11BTM处理器Intel®Core™i9-11900KB处理器已驱动内存英睿达DDR416G3200MHz*2已驱动硬盘铠侠RC201T已驱动显卡AMDRadeonRX6600XT已驱动声卡USB音频已驱动网卡以太网控制器i225-LM已驱动无线网卡+蓝牙奋威t919Sonoma以上版本自行安装补......
  • java项目启动脚本
    #!/bin/sh##javaenv##API_NAME:包名API_NAME=dsJAR_NAME=`ls$API_NAME*.jar`#PID代表是PID文件PID=$API_NAME\.pid#使用说明,用来提示输入参数usage(){echo"Usage:sh执行脚本.sh[start|stop|restart|status]"exit1}#检查程序是否在运行is_ex......
  • java中如何获取Stream流
    在Java中获取Stream流主要有以下几种方式:通过集合类(Collection)获取:所有的java.util.Collection接口的实现类,包括List,Set,和Queue等,都可以使用.stream()方法来获取一个Stream。例如:List<String>list=Arrays.asList("a","b","c");Stream<String>streamOfList=......
  • 关于java时间类型和格式化到微秒问题
    常规的问题此处略,因为网络上到处都是,这里主要讨论三个问题:1.数据库的时间戳类型(含微秒)对应java的什么类型java的常见时间类型比较多:java.util.Datejava.sql.Datejava.sql.Timestampjava.util.Calendarjava.time.LocalDatejava.time.LocalTimejava.time.LocalDateTime......
  • win10自带的linux系统是什么?怎么打开?
    Windows10自带的Linux系统称为适用于Linux的Windows子系统(WSL)。启用和打开这个系统,需要进行一系列的设置。首先,需要启用"适用于Linux的Windows子系统"的可选功能。这可以通过搜索PowerShell并以管理员身份运行,然后输入特定的命令来完成。接着,用户需要选择并安装自己喜欢的Linux发......
  • 在Linux服务器上部署Mirai框架的QQ机器人
    友情提示:本篇内容的步骤只是回忆内容,只能作为大致参考,不一定准确,因为我没有再一次验证这些步骤的可行性。下载mcl-installer前往这里,找到对应的Linux版本的mcl-installer。找到以后这里有两种可以将mcl-installer下载到服务器:一是先点击要下载的那个版本,然后会跳出下载链接和路......
  • java字节码指令
    java字节码指令  概要  众所周知,Java字节码是跨平台的,因此Java才能一次编译,处处运行。关于JVM和字节码的认识分成2个部分:  1.JVM(JavaVirtualMachine,Java虚拟机)是Java程序运行的虚拟计算机。它是Java平台的一部分,负责解释和执行Java字节码,并提供一种跨平台的运行......
  • 狂神说Java Web学习笔记_JSP
    什么是JSPJSP(JavaServerPages):Java服务器端页面,和Servlet一样,用于动态web技术!写JSP就像在写HTML。它们之间不同的是,JSP页面里可以嵌入Java代码,提供动态数据。JSP原理IDEA使用tomcat服务器,会在tomcat中产生一个work目录;C:\Users\winner\AppData\Local\JetBrains\IntelliJId......