#!/bin/bash
#获取当前文件路径
BIN_PATH=`cd $(dirname $0); pwd`
#应用名称
APP_NAME=${BIN_PATH}/xxx.jar
#日志文件名称
LOG_NAME=XXX
#使用说明,用来提示输入参数
usage() {
echo "usage: ./(脚本名称).sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
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 -jar ${APP_NAME} >>$BIN_PATH/logs/${LOG_NAME}.log 2>>$BIN_PATH/logs/${LOG_NAME}-error.log &
echo "start ${APP_NAME} is running"
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -15 $pid
#睡眠2s再次检查有没有关闭
sleep 2
is_exist
if [ $? -eq "0" ]; then
#没有关闭就重新调用stop方法
echo "stop ${APP_NAME} fail and try again"
stop()
else
echo "stop ${APP_NAME} success"
fi
else
echo "stop ${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "status ${APP_NAME} is running. Pid is ${pid}"
else
echo "status ${APP_NAME} is not running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
使用linux脚本启动/重启/停止java程序,查看程序是否运行
转载
使用linux脚本启动java程序
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:vue 项目中跳转不存在的路由
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
查看Linux系统中是否安装docker
查看Linux系统中是否安装docker
Docker docker x系统