linux 针对微服务 打包 jar,批处理执行和 kill

最近在写服务端,使用到微服务,打包形式为jar; 询问到上家公司运维,他并没有执行脚本,我觉得这是个问题,就打算自己写一个。

1 .我的远程服务器是linux系统

2. shell编写脚本 (本地编写一定要注意格式问题,linux系统下是 unix,否则会报错哦)

编码问题 可以看这篇文章: https://blog.csdn.net/jimbooks/article/details/98037922

 

进入正题:

1. 启动

首先我通过循环的方式 遍历 jar包所在的目录

for i in "$APP_HOME"/*.jar; do

done

然后获取到 jar 的唯一 pid 

pids=$(ps -ef | grep $i | grep -v grep | awk '{print $2}')

判断 不为空 提示已启动  else 执行 jar

if [ -n "$pids" ]; then
  echo "================================"
  echo "warn: $i already started! (pid=$pids)"
  echo "================================"
 else
  echo "Starting $i ..."
  nohup java -jar "$i" &
  if [ $? == 0 ];then
  echo "$i 服务启动成功"
  else
  echo "$i 服务启动失败"
  fi
  fi

2. 关闭进程

还是先遍历jar 所在目录

for i in "$APP_HOME"/*.jar; do

done

获取 pid

processId=$(ps -ef | grep $i | grep -v grep | awk '{print $2}')

判断 如果为空 提示没有服务在运行  else kill

if [ ! $processId ]; then  
echo "$APP_HOME 目录下没有服务在运行"
else
  echo "$i  服务在运行  pid = $processId"
       kill -9 $processId
       if [ $? == 0 ];then
        echo "kill服务成功"
        else 
        echo "kill服务失败"
        fi
fi

大概代码就是如此了,如还是不明白的小伙伴请移步我的资源下载,有可执行的代码哦!!

转载请注明原创 XX

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值