首页 > 系统相关 >Linux启动&重启jar脚本

Linux启动&重启jar脚本

时间:2024-07-07 13:55:34浏览次数:19  
标签:NAME jar 重启 NC JAR echo Linux ......

启动&重启jar

#!/bin/bash

# 设置颜色代码 \033、\e和\E是等价的
RED='\033[0;31m'	 # 红色	
GBLUE='\033[0;36m'	 # 	
GREEN='\033[0;32m'	 # 绿色
PURPLE='\033[0;35m'  # 紫色
PINK='\E[0;35m'		 # 粉红
YELOW='\E[0;33m'     # 黄
BLUE='\E[0;34m'      # 蓝
NC='\033[0m' 		 # 恢复默认颜色

# 获取脚本所在目录
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# 指定Java程序的名称和日志文件名
JAR_NAME=$(ls *.jar 2>/dev/null)  # 获取当前目录下的第一个JAR文件 (假设有多个文件, 可以根据实际情况进行调整)

# 检查是否找到JAR文件
if [ -z "$JAR_NAME" ]; then
    echo -e "${RED}================ No JAR file found in the current directory......${NC}"
    exit 1
fi

LOG_FILE="$SCRIPT_DIR/$(basename "$JAR_NAME" .jar).log"	# 使用 basename "JAR_NAME" .jar 提取JAR文件名(不带路径和扩展名), 然后构建对应的日志文件名

function print_error_and_exit() {
    echo -e "${RED}Error: $1${NC}"
    exit 1  # 打印错误消息并退出脚本
}


# 指定Java程序的名称
# JAR_NAME="ZFXYMediCommunityWebServer-1.0.jar"

# 检查程序是否在运行
if pgrep -f "$JAR_NAME" > /dev/null; then
    # 如果程序在运行,停止它
    echo -e "${RED}---------------- stopping${NC} $JAR_NAME......"
    pkill -f "$JAR_NAME" || print_error_and_exit "${RED}================ Failed to stop $JAR_NAME......${NC}"
    sleep 5 # 等待一段时间确保程序已经停止
    echo -e "${RED}---------------- $JAR_NAME stopped......${NC}"
else
    echo -e "${RED}---------------- $JAR_NAME is not running......${NC}"
fi

# 启动程序并将日志输出到 b.log
echo -e "${GREEN}---------------- starting${NC} $JAR_NAME......"
# nohup java -jar "$SCRIPT_DIR/$JAR_NAME" > "$SCRIPT_DIR/ZFXYMediCommunityWebServer-1.0.log" 2>&1 &
# echo -e "${GREEN}$JAR_NAME started...${NC} check $SCRIPT_DIR/ZFXYMediCommunityWebServer-1.0.log for logs..."

nohup java -jar "$SCRIPT_DIR/$JAR_NAME" > "$LOG_FILE" 2>&1 &
echo -e "${GREEN}---------------- $JAR_NAME started......${NC}"
echo -e "${GBLUE}---------------- check $LOG_FILE for logs......${NC}"

标签:NAME,jar,重启,NC,JAR,echo,Linux,......
From: https://blog.csdn.net/qq_54216005/article/details/140245397

相关文章

  • 在linux服务器上平滑发布(蓝绿发布)java项目,不影响现有业务运行
    具体操作使用nginx作为负载均衡,配置upstream(注意修改项目名)upstream项目名{serverlocalhost:7008max_fails=3fail_timeout=30s;serverlocalhost:7009max_fails=3fail_timeout=30s;}启动命令(注意修改jar位置及端口号),后修改为start.sh并......
  • Linux 防火墙配置指南:firewalld 端口管理应用案例(二十个实列)
       ......
  • springboot项目jar包运行使用指定application.yml
    在SpringBoot项目中,你可以通过命令行参数来指定使用特定的application.yml文件。以下是几种常见的方法:方法一:使用 --spring.config.location 参数你可以通过--spring.config.location参数来指定配置文件的路径。这个路径可以是绝对路径,也可以是相对路径。java-jar......
  • FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
    ​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。SRS是一......
  • 基于Linux的可信文件系统设计与实现(开题报告)
    本科毕业设计(论文)开题报告题目:基于Linux的可信文件系统设计与实现1、毕业设计的主要内容、重点和难点等1.主要内容:在操作系统中实现文件的各种操作,即新建、复制、删除等。使用加密算法对重要文件进行加密,保证文件的安全性,设置用户登录进入系统后才能操作文件,对用户密码......
  • 基于Linux的可信文件系统设计与实现
    目录摘要IAbstractII第1章绪论11.1选题背景及意义11.1.1选题背景11.1.2选题意义11.2国内外研究现状及发展趋势21.2.1国内研究现状21.2.2国外研究现状21.2.3发展趋势21.3论文研究主要内容3第2章技术及工具概述42.1Linux文件系统概述4......
  • 【Linux系列】Linux 性能调优工具的 9 张图
    性能观察工具静态性能工具性能压测工具性能调优工具sarperf-tools追踪工具BPF性能工具......
  • linux下高级IO模型
    高级IO1.高级IO模型基本概念1.1阻塞IO1.2非阻塞IO1.3信号驱动IO1.4IO多路转接1.5异步IO2.模型代码实现2.1非阻塞IO2.2多路转接-selectselect函数介绍什么才叫就绪呢?demoselect特点2.3多路转接-pollpoll函数介绍poll优缺点demo2.4多路转接-epoll(重点)epoll系......
  • 安装MySQL(Windows10和Linux CentOS7) 很详细的
    Windows10下安装MySQL1.下载MySQL官网下载MySQL:https://www.mysql.com/进入官网点击DOWNLOADS下滑点击MySQLCommunity(GPL)Downloads点击MySQLInstallerforWindows选择版本下载这里就不需要登录注册了,直接下载2.安装MySQL找到下载的文件双击之后选择Se......
  • Linux网络命令大全,收藏不迷路!
    Linux系统在网络管理中占据重要地位。无论是服务器管理、网络诊断还是安全维护,Linux网络命令都能提供强大的支持。网络配置命令ifconfigifconfig(interfaceconfiguration)是用于配置网络接口的命令。尽管被新的ip命令所取代,但它仍然在很多系统中使用。查看网络接口配置:......