description: 启动重启server服务
day_id=$(date '+%Y-%m-%d')
exe_name='xxx.jar'
env_the='prod'
HOME='/data/web/xxx'
log_name=${exe_name%.*}
log_dir="/data/web/xxx/jarLog.log"
port=`netstat -anopt |grep $pid|head -n 1|awk '{printf $4}'|cut -d: -f4`
start() {
pid=`ps -elf |grep $exe_name|grep -v grep |head -n 1 |awk '{printf $4}'`
if [ -n "$pid" ];
then
echo "server already start,pid:$pid"
return 0
fi
echo "jar:$HOME/$exe_name ; log: $log_dir"
cd $HOME
nohup java -jar $HOME/$exe_name --spring.profiles.active=$env_the > /dev/null 2>&1 &
pid=`ps -elf |grep ${exe_name}|grep -v grep |head -n 1 |awk '{printf $4}'`
port=`netstat -anopt |grep ${pid}|head -n 1|awk '{printf $4}'|cut -d: -f4`
echo "start at port:${port},pid:$pid"
}
stop(){
pid=`ps -elf |grep $exe_name|grep -v grep |head -n 1 |awk '{printf $4}'`
if [ -z "$pid" ]; then
echo "not find program on port:$port"
return 0
fi
kill -9 $pid
rm -rf $pid
echo "kill program use signal 2,pid:$pid"
}
status(){
if [ -z "$pid" ]; then
echo "not find program on port:$port"
else
echo "program is running,pid:$pid"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
*)
echo "Usage: {start|stop|status}"
;;
esac
exit 0