本文共 1333 字,大约阅读时间需要 4 分钟。
将项目文件和脚本置于同一工作目录中即可运行。脚本仅需修改第一个变量值即可适配不同项目配置。
./app.sh {start|stop|restart|status} is_exist() { local PID=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{print $2}') [[ -z "${PID}" ]] && return 1 || return 0} ps -ef 检查系统进程列表grep ${APP_NAME} 搜索特定JAR文件名grep -v grep 排除grep自身进程awk '{print $2}' 提取进程PIDstart() { is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} is already running. Pid: ${PID}" else nohup java -jar ${APP_NAME} > /dev/null 2>&1 & fi} nohup防止控制终端关闭时程序退出> /dev/null 2>&1 将输出和错误日志隐藏&后台运行程序stop() { is_exist if [ $? -eq 0 ]; then kill -9 ${PID} else echo "${APP_NAME} is not running" fi} kill -9强制终止进程status() { is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} is running. Pid: ${PID}" else echo "${APP_NAME} is NOT running." fi} restart() { stop start} # 启动程序./app.sh start# 停止程序./app.sh stop# 重启程序./app.sh restart# 查看状态./app.sh status
APP_NAME变量为实际JAR文件名-9选项时,程序可能无法保存状态数据sudo执行脚本通过以上命令,您可以轻松管理JAR程序的运行状态,确保系统稳定性和可用性。
转载地址:http://csnc.baihongyu.com/