#!/bin/bash
APP_NAME=datachecker-extract-7.0.0-RC3.jar
CONFIG_PATH=config
run_path=$(cd `dirname $0`; pwd)
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}
is_exist(){
pid=`ps -ef | grep ${run_path} | grep $APP_NAME | grep -v grep|awk '{print $2}'`
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -jar ${run_path}/${APP_NAME} --source >/dev/null 2>&1 &
nohup java -Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -jar ${run_path}/${APP_NAME} --sink >/dev/null 2>&1 &
sleep 1s
echo "${APP_NAME} source and sink start success"
fi
}
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -15 $pid
sleep 1s
else
echo "${APP_NAME} is not running"
fi
}
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
restart(){
stop
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac