实现jar包的启动-停止-重启-查状态;
1.创建脚本文件并编辑脚本:
touch chz.sh
vim chz.sh //按i键开始编写文件
2.脚本内容:
#!/bin/bash
APP_PATH=/home/chz/project
APP_NAME=chz.jar
FILE_NAME=chz.sh
LOG_NAME=nohup.out
JVM="-Xms512m -Xmx512m"
usage(){
echo "Usage: sh ${FILE_NAME} [start|stop|restart|status]"
exit 1
}
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v cgrep|grep -v grep|awk '{print $2}'`
#如果不存在返回1,存在返回0,通过-z判断是否为空
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
#此处注意修改jar和log文件文件位置:
nohup java $JVM -jar $APP_PATH/$APP_NAME > $LOG_NAME 2>&1 &
#此处打印log日志:
echo "start ${APP_NAME} is running"
fi
}
#停止脚本
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "stop ${APP_NAME} is stop"
else
echo "${APP_NAME} is not running"
fi
}
#显示当前jar运行状态
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
sleep 10
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
3.设置脚本文件可执行权限:
chmod 777 chz.sh
4.使用方式:
- 启动: ./chz.sh start
- 停止: ./chz.sh stop
- 重启: ./chz.sh restart
- 查状态: ./chz.sh status