命令行一键启动和关闭java应用

背景

近来在搞springcloud微服务,有服务的注册和发现,即nacos。有网关服务,即spring-gateway。有认证中心服务。还有用户中心服务,文件中心服务,springboot admin等等。部署的时候,这么多服务,一个个启动起来甚是麻烦。由于我的服务都是部署在windows下,所以就想着用windows命令行来统一启动和关闭这些服务。

启动服务

部署目录结构如下:
在这里插入图片描述

  • config:数据库等的配置。
  • jar:各个服务jar包。
  • logs:服务的日志。
  • nacos:服务注册和发现中心。

话不多说,直接上代码:

chcp 65001
@echo off

taskkill /f /fi "IMAGENAME eq redis*" /im *
taskkill /f /fi "IMAGENAME eq javaw.exe" /im *

e:
rem 启动nacos
cd E:\projects\yyl-system\java\micro-system\release\nacos\bin
start /min shutdown.cmd
timeout /T 5
start /min startup.cmd
timeout /T 5

rem 启动redis
d:
cd D:\Redis
start /b redis-server.exe

rem java服务
e:
cd E:\projects\yyl-system\java\micro-system\release\jar
rem 网关中心-sc-gateway.jar
start "网关" javaw "-Dfile.encoding=utf-8" -jar sc-gateway.jar
timeout /T 5

rem 认证中心-sc-gateway.jar
start "认证中心" javaw "-Dfile.encoding=utf-8" -jar yyl-authorization.jar
timeout /T 5

rem 用户中心-sc-gateway.jar
start "用户中心" javaw "-Dfile.encoding=utf-8" -jar user-center.jar
timeout /T 5

rem 文件中心-sc-gateway.jar
start "文件中心" javaw "-Dfile.encoding=utf-8" -jar file-center.jar
timeout /T 5

rem 后台管理中心-sc-gateway.jar
start "后台管理中心" javaw "-Dfile.encoding=utf-8" -jar sc-admin.jar

pause

命令解析

chcp 65001

改变命令行的编码为utf8。

@echo off

关闭命令输出,如果为on,那么你输出的命令会打印在命令行中。

taskkill /f /fi “IMAGENAME eq redis*” /im *

/f表示强制终止进程。
/fi表示筛选进或筛选出查询的任务。
IMAGENAME eq redis*表示匹配镜像名以redis开头的任务。
/im *image name表示要终止的镜像名,*表示终止所有镜像。

start /min shutdown.cmd

以最小化窗口(/min)启动shutdown.cmd,通常会打开新的窗口。

timeout /T 5

延迟5s执行下一条命令。

start “网关” javaw “-Dfile.encoding=utf-8” -jar sc-gateway.jar

启动sc-gateway.jar服务,“网关”是窗口名。javaw可以隐藏窗口,当然也可以使用java命令。“-Dfile.encoding=urf-8”表示设置编码格式为utf-8。

pause

表示命令执行完后,不关闭窗口,等待下一步操作。如果没有pause,命令执行完后,会自动关闭窗口。

关闭服务

命令跟开启服务差不多

chcp 65001
@echo off
e:
cd E:\projects\yyl-system\java\micro-system\release\nacos\bin
start /b shutdown.cmd
taskkill /F /fi "IMAGENAME eq redis*" /im *
taskkill /F /fi "IMAGENAME eq javaw.exe" /im *
pause

服务启动后

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nssm注册服务

将nssm.exe拷贝至release目录。
在这里插入图片描述
在当前目录打开命令行,并执行如下命令:

nssm.exe install yyl_framework

打开的窗口中path选择start.cmd,点确定即可。
在这里插入图片描述
然后就可以快乐地玩耍了~~^~~
nssm.exe可以到我的资源中下载。
觉得文章有帮助的,一键三连,点赞收藏关注哦~