#!/bin/bash usage(){ echo "usage: sh $0[start|stop|restart]" exit 1 } project_name="doc" project_path="/opt/doc/" project_jar="jjt-admin.jar" project_log="${project_path}/logs/${project_name}.log" start(){ is_exist if [ $? -eq "0" ]; then echo "${project_name} is already running. Pid is ${pid}." else echo "${project_name} Start." nohup /usr/local/jdk1.8.0_202/bin/java -jar -Dfile.encoding=utf-8 $project_path$project_jar --spring.config.location=/opt/doc/application.yml > $project_log 2>&1 & fi } stop(){ is_exist if [ $? -eq "0" ]; then echo "${project_name} Stop." kill -15 $pid mv $project_log{,.bak`date +%Y%m%d%H%M%S`} else echo "${project_name} is not running." fi } restart(){ stop sleep 3 start } status(){ is_exist if [ $? -eq "0" ]; then echo "${project_name} is running. Pid is ${pid}." else echo "${project_name} is not running." fi } is_exist(){ pid=`ps -ef|grep $project_jar|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } case "$1" in "start") start ;; "stop") stop ;; "restart") restart ;; "status") status ;; *) usage ;; esac