一行命令实现Java项目启动停止和重启

一行命令实现Java项目启动停止和重启

功能

  • 默认不入参是启动项目
  • 支持项目启动、停止、重启:start | stop | restart
  • 支持自定义java路径和jvm参数

使用

[root@master Desktop]# ./bin/demo-sh_start.sh start
程序名称: /root/Desktop/demo-app-sh-1.2.1-SNAPSHOT.jar
日志名称: demo-app-sh-1.2.1-SNAPSHOT
Java配置: -Xmx1024M -Xms256M
程序未运行
开始启动程序
[root@master Desktop]# ./bin/demo-sh_start.sh stop
程序名称: /root/Desktop/demo-app-sh-1.2.1-SNAPSHOT.jar
日志名称: demo-app-sh-1.2.1-SNAPSHOT
Java配置: -Xmx1024M -Xms256M
程序已运行,PID:[ 10864 ]
停止程序
[root@master Desktop]# ./bin/demo-sh_start.sh restart
程序名称: /root/Desktop/demo-app-sh-1.2.1-SNAPSHOT.jar
日志名称: demo-app-sh-1.2.1-SNAPSHOT
Java配置: -Xmx1024M -Xms256M
程序未运行
重启程序 0

脚本

#!/bin/sh
# 服务和java配置
appName=%s   # 这里替换jar路径, 如:./demo-app.jar, 建议使用绝对路径
JAVA_HOME=java
JAVA_OPT="-Xmx1024M -Xms256M"
# 日志
logName=$(basename ${appName} .jar)
# 输出程序信息
echo "程序名称:" ${appName}
echo "日志名称:" ${logName}
echo "Java配置:" ${JAVA_OPT}# 判断是否已经启动
v_pid=$(ps -ef | grep ${logName} | grep -v grep | awk '{print $2}')
if [ -z $v_pid ]; thenecho "程序未运行"
elseecho "程序已运行,PID:[" ${v_pid} "]"
fiif [ $# = 0 ]; then# 默认直接启动程序if [ -z $v_pid ]; thenecho "开始启动程序"elseecho "终止本次启动"exit 1fi# 运行javanohup ${JAVA_HOME} -jar ${JAVA_OPT} ${appName} >>${logName}.log 2>&1 &
else# 停止if [ $1 = "stop" ]; thens_killRes=$(kill ${v_pid})echo "停止程序" ${s_killRes}exit 0# 重启elif [ $1 = "restart" ]; then# 重启if [ -z $v_pid ]; thens_killRes="0"elses_killRes=$(kill ${v_pid})fiecho "重启程序" ${s_killRes}# 运行elif [ $1 = "start" ]; thenif [ -z $v_pid ]; thenecho "开始启动程序"elseecho "终止本次启动"exit 1fielseecho "未知的指令, 请输入 [start | stop | restart]"exit 1fi# 启动nohup ${JAVA_HOME} -jar ${JAVA_OPT} ${appName} >>${logName}.log 2>&1 &
fi

一行命令实现Java项目启动停止和重启相关推荐

  1. java项目启动时登录,Java项目启动时报错解决方法

    当前位置:我的异常网» Java Web开发 » Java项目启动时报错解决方法 Java项目启动时报错解决方法 www.myexceptions.net  网友分享于:2013-08-07  浏览: ...

  2. java 项目启动初始化_Spring项目启动时执行初始化方法

    一.applicationContext.xml配置bean init-method="initKeyWord"> classpath:sensitive-word.xml ...

  3. JAVA项目启动脚本编写的一些笔记整理

    写在前面 公司项目里看到,之前的项目都是在物理机部署的,而且大都是Server,没搞过,这里整齐学习. 博文分为两部分: 项目启动脚本总结,java常用启动参数,,启动参数部分参考 流年似水,有些事情 ...

  4. java 项目启动异常 Command line is too long.

    java spring 项目启动时报错:Command line is too long. Shorten command line for xxxApplication or also for Sp ...

  5. maven3常用命令、java项目搭建、web项目搭建

    ------------------------------maven3常用命令--------------------------- 1.常用命令 1)创建一个Project mvn archety ...

  6. 登陆mysql服务器命令_Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)...

    Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境) 1.  启动MySQL服务 启动MySQL服务的命令为: 命令执行后如图7-5所示,表示启动MySQL服务成功. 也 ...

  7. java项目启动后运行方法_spring boot在启动项目之后执行的实现方法

    前言 我们在web项目启动之后有时候还会做点其它的东西(比如,导入数据脚本),下面就说说spring-boot里怎么在程序启动后加入自己要执行的东西 方法如下: 新建一个类:BeforeStartup ...

  8. Java项目启动成功、失败信息实时反馈提醒(邮件或者短信)

    原文作者:程序猿杨鲍 转载声明:转载请注明原文地址,注意版权维护,谢谢! 在开发的流程中必须涉及的项目的部署发布,这个过程也肯定会有成功失败,在不同的公司里采用的提醒方式不同.在说明下面的方案前,需要 ...

  9. java 项目启动初始化_Spring Boot解决项目启动时初始化资源的方法

    前言 在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初 ...

最新文章

  1. SAP本地化-银企直连
  2. Js提交表单的两种方法
  3. android socket 闪退,android客户端闪退
  4. HttpClient4.x之Post请求示例
  5. python函数——形参中的:*args和**kwargs
  6. 模拟利器Mockito
  7. ESB和注册服务管理的区别
  8. 迅捷cad_迅捷元组
  9. Oracle-并行多线程和视图view的应用
  10. 谷歌云盘批量下载文件
  11. 雷蛇键盘灯光配置文件_三模连接一步到位,游戏宅女必备的雷蛇电竞外设套装...
  12. 开学季,别忙着给孩子训练专注力!先搞清楚孩子的专注力类型
  13. 代做assignment分享高分Essay写作攻略
  14. 我所完成的探索电影数据集完成报告
  15. canopen 报文格式_CANopen协议报文处理
  16. 基于uniapp+springboot声纹考勤系统app设计
  17. AAA和RADIUS
  18. COLA的扩展性使用和源码研究
  19. php比特教务选排课系统的设计与实现毕业设计源码301826
  20. 视频剪辑 之 十个不可不知的常用素材网站,你值得拥有

热门文章

  1. Docker部署Swarm集群
  2. js 截取指定字符后面/前面的所有字符串
  3. 友盟微信、朋友圈、QQ分享
  4. Java互联网架构-Mysql分库分表订单生成系统实战分析
  5. 数据结构——链表(定义详解及建立单链表与实现其操作)
  6. 计算机网络协议第二章,链路层协议
  7. 集装箱港口智能化管理解决方案
  8. hMailServer搭建企业邮箱服务器
  9. deepin20系统选择手动安装盘_手把手教你安装Mac双系统
  10. Halcon默认例程与默认图片路径