鍍金池/ 問答/Java  Linux/ shell腳本,這段代碼的具體含義是什么

shell腳本,這段代碼的具體含義是什么


start() {
nohup java $JVM_OPTS -Djava.library.path=conf -Dlogback.configurationFile=conf/logback.groovy -jar lib/production-construction-1.0-SNAPSHOT.jar &
echo -e '\r'
}

這段代碼中的 java 后面的參數(shù)具體含義是什么?

整個源碼

#!/bin/bash

PWDPATH=`dirname $0`
PORTAL_HOME=`cd $PWDPATH && cd .. && pwd`
echo $PORTAL_HOME
cd $PORTAL_HOME
JVM_OPTS="
-server 
 -Xms3g 
 -Xmx3g
 -XX:NewSize=512m
 -XX:SurvivorRatio=6
 -XX:+AlwaysPreTouch
 -XX:+UseG1GC
 -XX:MaxGCPauseMillis=2000
 -XX:GCTimeRatio=4
 -XX:InitiatingHeapOccupancyPercent=30
 -XX:G1HeapRegionSize=8M
 -XX:ConcGCThreads=2
 -XX:G1HeapWastePercent=10
 -XX:+UseTLAB
 -XX:+ScavengeBeforeFullGC
 -XX:+DisableExplicitGC
 -XX:+PrintGCDetails
 -XX:-UseGCOverheadLimit
 -XX:+PrintGCDateStamps
 -Xloggc:logs/gc.log
"

start() {
nohup java $JVM_OPTS -Djava.library.path=conf -Dlogback.configurationFile=conf/logback.groovy -jar lib/production-construction-1.0-SNAPSHOT.jar &
echo -e '\r'
}

start >> logs/console.log 2>> logs/console.log
回答
編輯回答
掛念你

nohup 不掛斷運行,就是你即使注銷了賬戶,后邊的 Java 進程也會一直運行;
$JVM_OPTS 引用前面定義的變量,那一堆是 JVM 的參數(shù);
-D<name>=<value> 是設置屬性,所以設置了 java.library.pathlogback.configurationFile 兩個屬性,值分別為 confconf/logback.groovy。即設置了此次 path 的路徑為 conf,而配置文件即 conf 下的 logback.groovy;
-jar <jar file> 是運行指定的 jar 文件;
nohup ... & echo -e '\r' 是把 JVM 的啟動信息輸出到標準輸出流;
start >> logs/console.log ... 是把 start() 的輸出重定向至指定文件。

2018年9月16日 03:38