linux sh脚本下运行java -jar项目

50 阅读1分钟

#!/bin/bash #jenkin编译时调用的shell,仅使用在测试服务器上 #export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。 source /etc/profile #用于保存启动服务的PID pid_path={pid路径} #如果PID目录不存在,则创建 if [ ! -d "pidpath"];thenmkdir{pid_path}" ]; then mkdir {pid_path} fi

#如果没传参数,就结束启动脚本 if [ -z "1"];thenexitfiif[z"1" ]; then exit fi if [ -z "2" ]; then exit fi

p_path="1"jarname="1" jar_name="2.jar" echo "parent_path: ppath"echo"jarname:p_path" echo "jar_name: jar_name"

app_name="{jar_name%-*.*.jar}" echo "app_name: app_name"

#修改工作目录 cd ppath/p_path/2 #获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程 if [ -f "pidpath/{pid_path}/{app_name}.pid" ]; then pid=(cat(cat {pid_path}/{app_name}.pid) #杀掉以前可能启动的项目进程 kill -9 {pid} fi

#启动jar,后台启动
#BUILD_ID=dontKillMe
BUILD_ID=dontKillMe nohup java -Xmx256m -Xms256m -Xmn200m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8080 -jar 包名称.jar --server.port=8182 >> ${jar_name%-*.*.jar}.out 2>&1 &
#将进程ID存入到app_name.pid文件中 (pid统一路径)
echo $! > ${pid_path}/${app_name}.pid
echo "pid: $(cat ${pid_path}/${app_name}.pid)"

例子截图 在这里插入图片描述

创作不易,麻烦帅哥美女们给点赞,收藏一下!谢谢!