Java 项目发布使用脚本
示例用法:
同运行jar包放于同一级目录,执行如下命令
sh [脚本名字] restart APP_NAME.jar
#!/bin/sh # sh start.sh start APP_NAME.jar # sh start.sh start -Heap 1024M -MetaspaceSize 256M APP_NAME.jar # sh start.sh stop APP_NAME.jar # SERVER_HOME="$( cd "$( dirname "$0" )" && pwd )" APP_NAME=${@: -1} #使用说明,用来提示输入参数 help() { echo "Usage: start.sh {start|stop|kills|restart|status|help} APP_NAME.jar" >&2 echo "Examples:" echo " sh start.sh start APP_NAME.jar" echo " sh start.sh kills APP_NAME.jar" echo " sh start.sh stop APP_NAME.jar" # echo " sh start.sh start -Heap 1024M -MetaspaceSize 256M APP_NAME.jar" } #检查程序是否在运行 is_exist() { # pid=`ps -ef | grep ${SERVER_HOME} | grep ${APP_NAME} | grep -v grep | awk '{print $2}' ` pid=`ps -ef | grep ${APP_NAME}|grep -v $0 | 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 echo "${APP_NAME} running..." nohup java -jar ${APP_NAME} --spring.profiles.active=prod > ${APP_NAME}.out 2>&1 & fi } #停止方法 stop() { is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is stopping..." kill -15 ${pid} else echo "${APP_NAME} is not running" fi } #杀死进程 kills() { is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is stopping..." kill -9 ${pid} else echo "${APP_NAME} is not running" fi } #输出运行状态 status() { is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is not running." fi } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start $@; ;; "kills") kills $@; ;; "stop") stop $@; ;; "status") status $@; ;; "restart") kills $@; start $@; ;; *) help ;; esac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix