类UNIX系统中启动脚本记录


#程序运行时进程名称(唯一)

EXE_NAME=""

#此语句表示先杀掉存在的进程

for PID in `ps -ef | grep -v grep | grep java | grep $EXE_NAME | awk '{print $2}'`
do kill -9 $PID
done

#进程启动时分配的内存空间,因系统和进程所需空间而异
MEM_OPTS="-d64 -Xms30g -Xmx50g -XX:PermSize=128M -XX:MaxPermSize=512m"

#使用java自带的jvisualvm.exe监控程序时,需要配置的JMX 信息

JMX_OPTS="-Dcom.sun.management.jmxremote.port=10001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

#设置进程运行时区

TIME_ZONE="-Duser.timezone=Asia/Singapore"


PRG="$0"

while [ -h "$PRG" ] ; do
 ls=`ls -ld "$PRG"`
 link=`expr "$ls" : '.*-> \(.*\)$'`
 if expr "$link" : '/.*' > /dev/null; then
  PRG="$link"
 else
  PRG=`dirname "$PRG"`/"$link"
 fi
done

PRGDIR=`dirname "$PRG"`

cp=$PRGDIR/:$PRGDIR/main.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
for libfile in $PRGDIR/lib/*.*; do
        cp=$libfile:$cp
done

#远程调式程序时用到

#DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1045"
CLASSPATH=$cp

$JAVA_HOME/bin/java -D$EXE_NAME $MEM_OPTS $JMX_OPTS $DEBUG $JAVA_OPTS $TIME_ZONE -classpath $cp pas.stat.domain.AppMain  $@ 1>/dev/null 2>/dev/null &

相关内容