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 后面的参数具体含义是什么?

整个源码

#!/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
阅读 2.2k
1 个回答

nohup 不挂断运行,就是你即使注销了账户,后边的 Java 进程也会一直运行;
$JVM_OPTS 引用前面定义的变量,那一堆是 JVM 的参数;
-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() 的输出重定向至指定文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题