java -jar启动项目以及日志输出的相关问题
windows下启动、停止、重启jar项目
后台启动
@echo off START "app" javaw -jar app-0.0.1-SNAPSHOT.jar
- 其中的app是你这个bat文件的名字
- javaw是jre中的后台启动的文件在jre/bin下
- 后面的jar文件是启动的jar包
停止jar项目
@echo off set port=3061 for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do ( echo kill the process %%m who use the port taskkill /pid %%m -t -f goto q ) :q
上述的方式是直接使用taskkill命令来关闭项目和linux中的kill一样
重启项目
@echo off set port=3061 for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do ( echo kill the process %%m who use the port taskkill /pid %%m -t -f goto start ) :start START "app" javaw -jar app-0.0.1-SNAPSHOT.jar
重启的方式就是将程序先关闭,然后重新启动。
Linux下关于启动服务器日志相关操作
java -jar xxx.jar
这种方式是在linux下的窗口启动,关闭窗口就相当于关闭了服务器。
服务器后台启动
nohup java -jar xxx.jar &
这样就会将程序运行到了后台,但是没有特指定日志输出的位置和日志名字,因此日志默认在当前目录的nohup.out下。
后台启动且指定日志位置
日志输出的方式需要知道如下:
- 1 标准输出
- 2 错误输出
- /dev/null 没有输出
因此有如下两种方式
nohup java -jar xxx.jar > /dev/null &
日志重定向到/dev/null中,这这个目录是linux的空设备文件,写入这里的内容会全部丢失掉。
因此没有日志输出
nohup java -jar xxx.jar > /dev/null 2>&1 &
标准日志无输出,错误日志重定向到/dev/null,因此错误日志也没有输出
nohup java -jar xxx.jar > /dev/null 2>log.error &
错误日志输出到当前目录的log.error文件中
nohup java -jar xxx.jar > log.out 2>&1 &
标准日志和错误日志都输出到当前的目录的log.out文件中
每天都输出一个文件
nohup java -jar xxx.jar | /usr/local/cronlog/sbin/cronlog logs/console-%Y-%m-%d.out &
上述的方式是使用cron每天定时的方式来产生一个日志文件。
总结
以上就是对windows启动项目相关的逻辑、以及对启动项目指定生成日志的方式。大家在后续可以使用这种方式来启动自己的打包后的项目。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot上传文件到本服务器 目录与jar包同级问题
这篇文章主要介绍了SpringBoot上传文件到本服务器 目录与jar包同级问题,需要的朋友可以参考下2018-11-11解析Orika的MapperFacade 属性赋值的使用问题
在我们实际开发中,常常会有对象与对象之间的转化,或者把一个对象的数据转化到另一个数据之中,如果我们手动的一个一个的set就会比较麻烦,代码段看起来也会比较长。而Orika的MapperFacade就是解决这个问题的,实现对象属性的复制2021-12-12详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)
本篇文章主要介绍了详解SpringBoot 快速整合Mybatis(去XML化+注解进阶),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
最新评论