SpringBoot编写sh脚本进行启停

SpringBoot项目可以使用内嵌tomcat的jar包启动方式也可以选择war包配置等等进行外置tomcat部署启动

我这里记录一下内嵌tomcat的jar包启动方式及shell脚本

maven  clean  package 打jar包

本地Java -jar xxx.jar启动测试,如果提示没有主方法入口等问题,建议百度进行解决

将jar包上传到linux服务器

确保Liunx环境又jdk运行环境,java -version,没有百度进行安装配置

shell脚本中也可以进行export jdk环境,需要有jdk包

shell脚本如下: demo.sh

#!/bin/sh
#定义程序名 及jar包的名
PROJECT_NAME=demo.jar
## 编写判断程序是否正在运行的方法
isExist(){## 首先查找进程号pid=$(ps -ef | grep ${PROJECT_NAME} | grep -v "grep" | awk '{print $2}')echo $(pid)## 如果进程号不存在,则返回0 否则返回1if [ -z "${pid}" ]; thenreturn 0elsereturn 1fi
}
## 编写启动程序方法
start(){## 调用 判断程序是否正在运行的方法isExist## 判断方法返回值是否等于0 ,等于则不存在if [ $? -eq "0" ]; thenecho "${PROJECT_NAME} is starting ......"nohup java -Xms1024m -Xmx2048m -jar ${PROJECT_NAME} > ./log/startup.log &echo "${PROJECT_NAME} startup success"elseecho "${PROJECT_NAME} is running, pid=${pid} "fi
}
## 编写停止程序的方法
stop(){## 调用 判断程序是否正在运行isExist## 判断是否存在,返回值0不存在if [ $? -eq "0" ]; thenecho "${PROJECT_NAME} is not running ......"elseecho "${PROJECT_NAME} is running, pid=${pid}, prepare kill it "kill -9 ${pid}echo "${PROJECT_NAME} has been successfully killed ......"fi
}
## 编写重启方法
restart(){## 先停止再启动stopstart
}## 程序最开始执行的
## 根据用户输入,判断执行方法
case "$1" in"start")start;;"stop")stop;;"restart")restart;;*)echo "please enter the correct commands: "echo "such as : sh startup.sh [ start | stop | restart ]";;
esac

启动停止脚本如下:

sh  demo.sh start

sh demo.sh stop 

sh demo.sh restart 

window直接copysh脚本到liunx环境运行会出现windows换行符无法识别问题

nodepad++处理一下再上传,建议百度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nacos配置文件覆盖问题

近期新项目上cloud alibaba架构 用的注册和配置中心就是用的nacos Nacos作为配置中心给我的感觉也是不是很好用,大概配置中心都不是很好用吧,可能用多了会好点 首先说一下遇到的问题, nacos有几个范围性的概念 我就不说了 1.首先是命名空…

leetCode题解之Reshape the Matrix

1、题目描述 2、分析 使用了一个队列。 3、代码 1 vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {2 3 if( nums.size() * nums[0].size() ! r * c )4 return nums;5 vecto…

项目搭建Nacos及遇到问题解决

新项目决定用SpringCloud Alibaba组件作为基础架构搭建微服务架构 Nacos作为服务注册与发现中心&#xff0c;和eurake有些区别&#xff0c;首先是CAP原则&#xff0c;eurake属于高可用AP&#xff0c;nacos属于一致性CP。 其次eurake的使用是在代码中创建项目并整合入其中&…

Maven3版本的超级POM位置及中央仓库位置

背景 之所以想到这个问题&#xff0c;是因为在配置Nexus-Maven 私服的时候&#xff0c;需要在Maven的settings.xml中对<mirror>进行配置&#xff0c;在配置中央仓库的镜像时&#xff0c;<mirrorOf>需要设置成central&#xff0c;因为这是maven中央仓库的id&#xf…

使用Nacos项目jar包启动抛出的yml异常

记录一下项目jar包启动时一直抛出nacos yml编译错误的问题 一开始抛出yml的问题&#xff0c;是编码问题&#xff0c;但是又不知道Nacos里怎么配置编码格式。 所以我只能把nacos中配置文件里的注释含泪删除调试试看 打包 jar包启动&#xff0c;咦真的少了很多 但是有一个异常…

515Nod 1126 求递推序列的第n项【矩阵快速幂】

有一个序列是这样定义的&#xff1a;f(1) 1, f(2) 1, f(n) (A * f(n - 1) B * f(n - 2)) mod 7.给出A&#xff0c;B和N&#xff0c;求f(n)的值。Input输入3个数&#xff1a;A,B,N。数字之间用空格分割。(-10000 < A, B < 10000, 1 < N < 10^9) Output输出f(n)的…

特殊表情存数据库处理

开发途中遇到评价的功能&#xff0c;需要存入表情符号比如&#xff1a; 以及这种 存入数据库的时候会抛出异常&#xff0c;\x86\啥的 百度解决办法是 数据库改utf8mb4 但是测试改表的字符集并没有用&#xff0c; 然后我也没敢改库的字符集仍然使用utf8 我的解决办法是代码层…

转 【MQTT】在Windows下搭建MQTT服务器

MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议&#xff0c;设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有&#xff1a; 使用发布/订阅消息模式&#xff0c;提供一对多的消息发布&#xff0c;解除应用程序耦合。…

记录一次StackOverflowError问题

StackOverflowError Idea启动一直抛出StackOverflowError栈溢出&#xff0c;大概率是跟刚写的代码相关 public class WebServiceConfig {private static WebServiceConfig cfg new WebServiceConfig();// Web服务的URLprivate String address;// Web服务接口private Class s…

DNS A记录和CNAME记录

参考文章&#xff1a;http://blog.xieyc.com/differences-between-a-record-and-cname-record/ A (Address) 记录是用来指定主机名&#xff08;或域名&#xff09;对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。…

远程调用,限制请求超时时间处理

HttpClient处理 HttpClient httpClientpost new DefaultHttpClient(); String Posturl"xxx"; HttpPost httpPost new HttpPost(Posturl); RequestConfig ReqConfig RequestConfig.custom().setConnectTimeout(1000) //连接超时时间.setConnectionRequestTimeout…

HttpSession 和 HttpSession

说cookie机制采用的是在客户端保持状态的方案&#xff0c;而session机制采用的是在服务器端保持状态的方案。转载于:https://www.cnblogs.com/YangBinChina/p/8970673.html

flask 坑

no python application found, check your startup logs for errors 日志里面报类似于“Mon Mar 23 10:26:49 2015 – — no python application found, check your startup logs for errors —”这类错误时&#xff0c;需要好好检查一下xml文件 这个文件里面行尾不能有空格&am…

js数组sort排序原理

大家都知道javascript的数组有sort排序方法,可以实现升序与降序&#xff0c;现在我们来学习一下sort方法排序的原理冒泡排序。冒泡排序:拿数组的当前项和后一项比较&#xff0c;如果当前项大于后一项&#xff0c;两者交换位置。 1 let arr [100, 34, 16, 3, 18, 70];2 3 for …

多数据源处理-苞米豆-dynamic

微服务项目虽然每个服务可以单独使用一个库&#xff0c;但是某些特定服务&#xff0c;如调度中心服务&#xff0c;定时任务等&#xff0c;如果还是使用rpc或者fegin频繁进行远程调用&#xff0c;总感觉不是很合适 所以对单服务进行了多数据源处理 使用的是苞米豆的 dynamic-d…

springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle

很感谢这位作者的文章https://blog.csdn.net/q340505050518/article/details/105394315 近期对项目版本进行升级 原项目版本 从 Springcloud alibaba 2.1.0 Spring cloud Greenwich SpringBoot 2.1.3版本升级&#xff0c; 一开始升级的版本是&#xff1a; Springclo…

servlet中servletContext的五大作用(一)

获取web的上下文路径获取全局的参数作为域对象使用请求转发读取web项目的资源文件package day10.about_servletcontext.get_path; /*** 首先区别&#xff1a;* 一个网站只有一个ServletContext对象* 而每一个Servlet都有一个ServletConfig对象* * 但是我们拿Context对象的话&am…

记录一下alibaba cloud boot 版本对应关系

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E