linux下jar启动、停止、重启脚本
#!/bin/bash # 设置 Java 运行环境路径 JAVA_HOME="$JAVA_HOME" # 设置应用程序 JAR 文件路径 绝对路径 APP_JAR="$(pwd)/xxx.jar" # 设置 JVM 参数 JAVA_OPTS="$JAVA_OPTS -Xms2048m -Xmx2048m -Dfile.encoding=UTF-8" JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED \ --add-opens java.base/java.net=ALL-UNNAMED \ --add-opens java.base/java.nio=ALL-UNNAMED \ --add-opens java.base/java.security=ALL-UNNAMED \ --add-opens java.base/java.text=ALL-UNNAMED \ --add-opens java.base/java.time=ALL-UNNAMED \ --add-opens java.base/java.util=ALL-UNNAMED \ --add-opens java.base/jdk.internal.access=ALL-UNNAMED \ --add-opens java.base/jdk.internal.misc=ALL-UNNAMED \ --add-opens java.base/java.util=ALL-UNNAMED \ --add-opens java.base/java.lang=ALL-UNNAMED \ --add-opens java.base/jdk.internal.perf=ALL-UNNAMED \ --add-exports java.base/jdk.internal.perf=ALL-UNNAMED \ --add-opens java.management/sun.management.counter.perf=ALL-UNNAMED \ --add-opens java.management/sun.management.counter=ALL-UNNAMED " ## 设置启动环境 JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev" # 定义函数:启动应用程序 start() { echo "Starting the application..." #有nohub日志 nohup $JAVA_HOME/bin/java $JAVA_OPTS -jar $APP_JAR >> nohup.out 2>&1 & #指null nohub日志 #nohup $JAVA_HOME/bin/java $JAVA_OPTS -jar $APP_JAR >/dev/null 2>&1 pid=$! # 将进程 ID 写入到文件中 echo "$pid" > app.pid echo "Application started." } # 定义函数:重启应用程序 restart() { echo "Restarting the application..." stop start } # 定义函数:关闭应用程序 stop() { echo "Stopping the application..." # 检查是否存在 PID 文件 if [ ! -f "app.pid" ]; then echo "Error: PID file 'app.pid' not found." exit 1 fi # 从 PID 文件中读取进程 ID (PID) pid=$(cat app.pid) # 检查进程是否存在 if [ -n "$pid" ] && ps -p $pid > /dev/null; then # 终止应用程序的运行 kill $pid echo "Application stopped." else echo "Application is not running." fi } # 根据命令参数执行相应操作 case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0
将以上代码保存为run.sh文件
然后给run.sh添加执行权限
使用时./run.sh,输入命令执行
扫码领红包微信赞赏支付宝扫码领红包
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。侵权投诉:375170667@qq.com