jar文件,快捷启动shell脚本
stop.sh pid=$(ps -ef | grep admin-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}') if [ -z $pid ];then echo "服务未启动" else echo "服务已停止" kill -9 $pid fi echo "" start.sh pid=$(ps -ef | grep admin-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}') # -z 表示为空 if [ -z $pid ]; then nohup java -Dloader.path=lib/ -jar admin-demo-0.0.1-SNAPSHOT.jar >out.log 2>&1 & pid=$(ps -ef | grep admin-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}') echo "服务已启动!pid:${pid}" else echo "服务已在运行中" fi
转载别人 ↓
#!/bin/sh # 定义变量 JAR_NAME="$2.jar" # 监听端口 ADD_PORT="$3" # help获取使用方法 help() { echo "" echo "please use command: sh start.sh [start|stop|restart|status|debug] [version] || [ADD_PORT]" echo "For example: sh start.sh start 1.0.1" echo "debug For example: sh start.sh debug demo1.0 | sh start.sh debug demo1.0 6156" echo "" exit 1 } # 该方法会重新启动程序 debug() { # 查看pid,先杀掉,再运行jar pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') # 设置默认监听端口 if [ -z $ADD_PORT ]; then ADD_PORT="51135" echo "......default Listen on port for DEBUG:${ADD_PORT}" fi # -z 表示为空 if [ ! -z $pid ]; then kill -9 $pid echo "" echo "......kill -9 ${pid}....." nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$ADD_PORT -Dloader.path=lib/ -jar $JAR_NAME >debugOut.log 2>&1 & pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') echo "" echo "debug Service ${JAR_NAME} is starting!newPid:${pid}, Listen on port:${ADD_PORT}" echo "......debug restart: success......" echo "" else nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$ADD_PORT -Dloader.path=lib/ -jar $JAR_NAME >debugOut.log 2>&1 & pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') echo "" echo "debug Service ${JAR_NAME} is starting!pid:${pid}, address:${ADD_PORT}" echo "......debug Start: success......" echo "" fi } # 启动方法 start() { # 重新获取一下pid pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') # -z 表示为空 if [ -z $pid ]; then nohup java -Dloader.path=lib/ -jar $JAR_NAME >out.log 2>&1 & pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') echo "" echo "Service ${JAR_NAME} is starting!pid:${pid}" echo ".........Start success........" else echo "" echo "Service ${JAR_NAME} is already running,it's pid:${pid}. If necessary." echo "please use command:[sh start.sh stop [version] | sh start.sh restart [version]]." echo "" fi } # 停止方法 stop() { # 重新获取一下pid pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') # -z 表示为空 if [ -z $pid ]; then echo "" echo "Service ${JAR_NAME} is not running!" echo "" else kill -9 $pid echo "" echo "Service stop success!pid:${pid}" echo "" fi } # 输出运行状态方法 status() { # 重新获取一下pid pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') # -z 表示为空 if [ -z $pid ]; then echo "" echo "Service ${JAR_NAME} is not running!" echo "" else echo "" echo "Service ${JAR_NAME} is running. It's pid=${pid}" echo "" fi } # 重启方法 restart() { echo ".................Restarting................." pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}') # -z 表示为空 if [ ! -z $pid ]; then kill -9 $pid fi start echo "" } # 根据输入参数执行对应方法 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; "-h") help ;; "debug") debug ;; esac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY