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
复制代码

 

posted @   Devan.Yan  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示