#!/bin/sh cd `dirname $0` BIN_DIR=`pwd` DEPLOY_DIR=`pwd` CONF_DIR=$DEPLOY_DIR/conf SERVER_NAME=`echo ${DEPLOY_DIR}` if [ -z "$SERVER_NAME" ]; then SERVER_NAME=`hostname` fi LOGS_DIR=$DEPLOY_DIR/logs if [ ! -d $LOGS_DIR ]; then mkdir $LOGS_DIR fi STDOUT_FILE=$LOGS_DIR/stdout.log LIB_DIR=$DEPLOY_DIR/lib if [ -z "$LD_LIBRARY_PATH" ]; then export LD_LIBRARY_PATH=$DEPLOY_DIR/lib else export LD_LIBRARY_PATH=$DEPLOY_DIR/lib:$LD_LIBRARY_PATH fi LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"` JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " JAVA_DEBUG_OPTS="" if [ "$1" = "debug" ]; then JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n " fi JAVA_JMX_OPTS="" if [ "$1" = "jmx" ]; then JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false " fi JAVA_MEM_OPTS="" BITS=`java -version 2>&1 | grep -i 64-bit` if [ -n "$BITS" ]; then JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 " else JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC " fi echo -e "Starting the $SERVER_NAME ...\c" java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 & COUNT=0 while [ $COUNT -lt 1 ]; do echo -e ".\c" sleep 1 COUNT=`ps -ef | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l` if [ $COUNT -gt 0 ]; then break fi done echo " OK!" ##echo "STDOUT: $STDOUT_FILE" PIDS=`ps -ef | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'` echo "PID: $PIDS"
关闭脚本:
#!/bin/sh cd `dirname $0` BIN_DIR=`pwd` DEPLOY_DIR=`pwd` CONF_DIR=$DEPLOY_DIR/conf LOGS_DIR=$DEPLOY_DIR/logs if [ ! -d $LOGS_DIR ]; then mkdir $LOGS_DIR fi STDOUT_FILE=$LOGS_DIR/stdout.log SERVER_NAME=`echo ${DEPLOY_DIR}` if [ -z "$SERVER_NAME" ]; then SERVER_NAME=`hostname` fi PIDS=`ps -ef | grep java | grep "$DEPLOY_DIR" |awk '{print $2}'` if [ -z "$PIDS" ]; then echo "ERROR: The $SERVER_NAME does not started!" exit 1 fi if [ "$1" = "dump" ]; then $BIN_DIR/dump.sh fi echo -e "Stopping the $SERVER_NAME $PIDS ...\c" for PID in $PIDS ; do kill -9 $PID > $STDOUT_FILE 2>&1 done COUNT=0 while [ $COUNT -lt 1 ]; do echo -e ".\c" sleep 1 COUNT=1 for PID in $PIDS ; do PID_EXIST=`ps -f -p $PID | grep java` if [ -n "$PID_EXIST" ]; then COUNT=0 break fi done done echo " OK!" echo "PID: $PIDS"