linux nohup启动/关闭脚本

58 阅读1分钟

1、start.sh

#!/bin/sh
BASE_DIR=`dirname $0`
cd ${BASE_DIR}

S_NAME=websockify
P_ID=`ps aux | grep -i $S_NAME | grep -v grep | awk '{print $2}'`

if [ "$P_ID" == "" ]; then
  nohup node --title=${S_NAME} config.js >run.log 2>&1 &
  echo "---$S_NAME---启动"
else
  echo "---$S_NAME---已存在"
fi
#!/bin/sh
## 服务名称
SERVICE_NAME=provider
BASE_DIR=`dirname $0`
cd ${BASE_DIR}
P_ID=`ps aux | grep -i $SERVICE_NAME | grep java | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
  nohup java -DDUBBO_IP_TO_REGISTRY=192.168.6.100 -Duser.timezone=GMT+8 -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/heapdump.hprof -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -Xloggc:./logs/gc.log -Xmx1G -Xms1G -Duser.region=CN -Duser.language=zh -jar ./${SERVICE_NAME}.jar --logging.config=./config/logback.xml > ${SERVICE_NAME}.log 2>&1 &
  echo "---$SERVICE_NAME---启动"
else
  echo "---$SERVICE_NAME---已存在"
fi
#!/bin/sh
## 服务名称
export BUILD_ID=dontkillme
SERVICE_NAME=bt
BASE_DIR=$(cd `dirname $0`;pwd)
JAVA_CMD=$(which java)
P_ID=`ps aux | grep -i $SERVICE_NAME | grep java | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
  su - ftpuser -c "cd ${BASE_DIR};\
    nohup $JAVA_CMD -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/heapdump.hprof -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M \
-Xloggc:./logs/gc.log -Xmx1G -Xms1G -Duser.region=CN -Duser.language=zh -Duser.timezone=GMT+8 -jar ./$SERVICE_NAME.jar --logging.config=./config/logback.xml > ./$SERVICE_NAME.log 2>&1 &"
 echo "---$SERVICE_NAME---启动"
else
  echo "---$SERVICE_NAME---已存在"
fi

2、stop.sh

#! /bin/bash
## 服务名称
SERVICE_NAME=provider
P_ID=`ps aux | grep -i $SERVICE_NAME | grep java | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
  echo "---$SERVICE_NAME---未启动"
else
  kill -9 $P_ID
  echo "---$SERVICE_NAME---关闭成功"
fi
#! /bin/bash
## 服务名称
SERVICE_NAME=bt
P_ID=`ps aux | grep -i ${SERVICE_NAME} | grep java | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
  echo "---$SERVICE_NAME---未启动"
else
  su - ftpuser -c "kill -15 $P_ID"
  COUNTER=0
  while [ $COUNTER -lt 60 ]
  do
    sleep 1s
    if ps -p $P_ID > /dev/null; then
      COUNTER=$(( $COUNTER+1 ))
    else
      echo "---$SERVICE_NAME---关闭成功"
      exit 0
    fi
  done
  kill -9 $P_ID && rm -rf /tmp/hsperfdata_ftpuser/$P_ID
  echo "---$SERVICE_NAME---关闭成功"
fi