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的空設備文件,寫入這里的內(nèi)容會全部丟失掉。
因此沒有日志輸出
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每天定時的方式來產(chǎn)生一個日志文件。
總結(jié)
以上就是對windows啟動項目相關的邏輯、以及對啟動項目指定生成日志的方式。大家在后續(xù)可以使用這種方式來啟動自己的打包后的項目。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
RabbitMQ開啟SSL與SpringBoot連接測試的配置方法
本文基于 CentOS 7 + Git + OpenSSL + yum 安裝的 RabbitMQ,需要讀者提交安裝好。其他方式也可變通參考本文。對RabbitMQ開啟SSL與SpringBoot連接測試相關知識感興趣的朋友一起看看吧2022-01-01
SpringBoot實現(xiàn)WebSocket全雙工通信的項目實踐
本文主要介紹了SpringBoot實現(xiàn)WebSocket全雙工通信的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05

