APP_NAME=$1 #获取脚本执行后的第一个参数
COMMAND=$2 #获取第二个参数
#检查程序是否在运行
is_exist(){ #定义函数
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回0,存在返回1
if [ -z "${pid}" ]; then
return 0
else
return 1
fi
}
#启动方法
java_start(){
is_exist
if [ $? -eq "1" ]; then
echo "${APP_NAM} is already running. pid=${pid} ."
else
nohup java -jar ${APP_NAME} &
echo "${APP_NAME} start success ."
fi
}
#停止方法
java_stop(){
is_exist
if [ $? -eq "1" ]; then
kill -9 ${pid}
echo "${APP_NAME} stop success ."
else
echo "${APP_NAME} is not running ."
fi
}
#重启
java_restart(){
java_stop
java_start
}
#查询状态
java_status(){
is_exist
if [ $? -eq "1" ]; then
echo "${APP_NAME} is running ."
else
echo "${APP_NAME} is not running ."
fi
}
#使用o "参数start"明,用来提示输入参数
usage() {
echo "指令格式:./jar.sh [APP_NAME] [java_start|java_stop|java_restart|java_status]"
exit 1
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "${COMMAND}" in
"java_start")
java_start
;;
"java_stop")
java_stop
;;
"java_status")
java_status
;;
"java_restart")
java_restart
;;
*)
usage
;;
esac