使用bash启动Jetty服务 发表于 2017-05-02 | 分类于 program 使用bash启动Jetty服务start.sh12345678910111213141516171819202122232425262728293031323334#!/bin/bashcd `dirname $0`BIN_DIR=`pwd`cd ..DEPLOY_DIR=`pwd`LOGS_DIR=$DEPLOY_DIR/logsSTDOUT_FILE=$LOGS_DIR/stdout.logSERVER_NAME=`basename "$PWD"`if [ "$1" = "jprofiler" ]; then JAVA_OPTS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -agentpath:/opt/jprofiler10/bin/linux-x64/libjprofilerti.so=port=8849 $JAVA_OPTS"fiJAVA_JMX_OPTS=""if [ "$1" = "jmx" ]; then JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmx -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmx/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmx/jmxremote.access"fiJAVA_MEM_OPTS=""BITS=`java -version 2>&1 | grep -i 64-bit`if [ -n "$BITS" ]; then JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "else JAVA_MEM_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "fiexport JAVA_OPTSnohup java $JAVA_OPTS $JAVA_JMX_OPTS $JAVA_MEM_OPTS -jar /usr/local/jetty9/start.jar jetty.base=$DEPLOY_DIR > $STDOUT_FILE 2>&1 &echo "OK!"PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`echo "PID: $PIDS"echo "STDOUT: $STDOUT_FILE" stop.sh12345678910111213141516171819202122232425262728293031323334353637383940#!/bin/bashcd `dirname $0`BIN_DIR=`pwd`cd ..DEPLOY_DIR=`pwd`SERVER_NAME=`basename "$PWD"`if [ -z "$SERVER_NAME" ]; then SERVER_NAME=`hostname`fiPIDS=`ps -ef | grep jetty | grep $DEPLOY_DIR |awk '{print $2}'`if [ -z "$PIDS" ]; then echo "ERROR: The $SERVER_NAME does not started!" exit 1fiecho "PID: $PIDS"echo -e "Stopping the $SERVER_NAME ...\c"for PID in $PIDS ; do kill $PID > /dev/null 2>&1doneCOUNT=0while [ $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 donedoneecho "OK!"echo "PID: $PIDS" 使用Start jetty service1234[root@bogon logs]# ../bin/start.sh OK!PID: 11137STDOUT: /home/pft/pft-web-base/logs/stdout.log Stop jetty service1234[root@bogon logs]# ../bin/stop.sh PID: 11046Stopping the pft-web-base ....OK!PID: 11046 Demo一个简单例子pft-web-base Linux nohup命令详解12345678用途:不挂断地运行命令。语法:nohup Command [ Arg ... ] [ & ]描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。操作系统中有三个常用的流: 0:标准输入流 stdin 1:标准输出流 stdout 2:标准错误流 stderr