亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

linux后臺啟動Jar包打印日志方式(windows10)

 更新時間:2024年07月13日 09:20:04   作者:可樂cc呀  
這篇文章主要介紹了linux后臺啟動Jar包打印日志方式(windows10),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

不多解釋命令,一看就懂,如下配置 bat 文件即可

之后會另寫一篇bat腳本命令大全,看心情把,就這樣

一,windows10 創(chuàng)建start.bat文件

在這里插入圖片描述

二,windows10 以文本編輯打開文件

編輯如下命令

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -jar D:\test\test.jar > D:\test\log\server.log 2>&1 &
exit
  • 創(chuàng)建shell 對象,判斷運行否則關閉窗口;
  • 運行jar 打印日志到指定目錄
  • 退出窗口
  • 雙擊運行

三,windows10 指定配置文件,配置Jvm 環(huán)境

編輯如下命令

@echo off

set AppName=monitor-admin

echo start %AppName% service

set JAVA_OPTS=-Xms512m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError ^
-XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC


java -jar  %JAVA_OPTS% ./bin/%AppName%.jar --spring.config.location=./conf/application.yml,./conf/application-druid.yml > ./log/server.log 2>&1 &

echo start success close window

pause
  • 這里的conf 文件夾是同目錄級別下的yml 文件,也就是說設置外部的配置文件生效,讓jar內部的yml失效,這樣做的好處是不用更改配置重新部署,壞處就是配置信息都暴露出來讓別人一下都看到了
  • 雙擊運行

四,windows10 創(chuàng)建stop.bat 關閉特定端口的java程序

@echo off

set port=10011

echo start kill app server, by %port%

for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m


echo end

pause
  • 雙擊運行

五,windows10 創(chuàng)建restart.bat ,重啟jar包

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m &
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -jar   D:\test\test.jar  --spring.config.location=./conf/application.yml  >  D:\test\log\server.log 2>&1 &
exit

六,Linux下創(chuàng)建 start.sh 文件

將文件變?yōu)榭蓤?zhí)行文件

chmod 777 start.sh

編輯文件內容

AppName 變量值,改為自己的jar 名稱即可

#!/bin/sh

APP_HOME="$(cd "$(dirname "$BASH_SOURCE")" && pwd)"
AppName=test
JAR_PATH=$(find "$APP_HOME"/bin -name "${AppName}*.jar")
JAR_NAME=${JAR_PATH##*/}
APP_PID="app.pid"

# JVM參數(shù)
JVM_OPTS="-Dname=$JAR_NAME  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError \
-XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

PID=""
query() {
  PID=$(ps -ef | grep java | grep "$APP_HOME"/bin/$AppName | grep -v grep | awk '{print $2}')
}

echo "Start $JAR_NAME ..."

cd "$APP_HOME" || exit

query
if [ x"$PID" != x"" ]; then
  echo "$AppName is running on pid : ${PID}"
  echo "${PID}" >$APP_PID
else
  nohup java "$JVM_OPTS" -jar "$JAR_PATH" --spring.config.location=./conf/application.yml,./conf/application-druid.yml >/dev/null 2>&1 &
  echo "Start running..."

  sleep 3

  query
  echo "${PID}" >$APP_PID
  echo "Start $JAR_NAME success on pid: ${PID}"
fi

執(zhí)行文件

./start.sh

七,linux下創(chuàng)建 stop.sh 文件

同上命令,不多撰述,打字費鍵盤,主要是懶

#!/bin/sh

APP_HOME=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
AppName=test

PID=""
query() {
  PID=$(ps -ef | grep java | grep "$APP_HOME"/bin/$AppName | grep -v grep | awk '{print $2}')
}

echo "Stop $AppName"

query
if [ x"$PID" != x"" ]; then
  kill -TERM "$PID"
  echo "$AppName (pid:$PID) exiting..."
  while [ x"$PID" != x"" ]; do
    sleep 1
    query
  done
  echo "$AppName exited."
else
  echo "$AppName already stopped."
fi

八,linux下創(chuàng)建 restart.sh 文件

同上命令,不多撰述,打字費鍵盤,主要是懶

#!/bin/sh

APP_HOME="$(cd "$(dirname "$BASH_SOURCE")" && pwd)"

cd "$APP_HOME" || exit

sh stop.sh
sleep 2
sh start.sh

九,總結

  • windows創(chuàng)建文件batlinux需要變?yōu)榭蓤?zhí)行文件,創(chuàng)建sh 文件
  • 后臺啟動jar包,輸出日志
  • 通過端口殺進程,停止運行jar包
  • 學習bat腳本,shell腳本命令

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關文章

最新評論