1. Jar 包啟動
(窗口啟動: jar -jar: 命令行啟動邀摆,窗口停留)
下面介紹后臺啟動方式
1.1 Linux
java -jar xxx.jar &
- 說明: 在末尾加入 & 符號
-
jar -jar, ctrl+z
(1)執(zhí)行java -jar xxx.jar后
(2)ctrl+z 退出到控制臺,執(zhí)行 bg
(3)exit
完成以上3步签财,退出SHELL后,jar服務(wù)一直在后臺運行井濒。 -
nohup java -jar xxxx.jar & (推薦)
(1) 輸出日志:nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
上面的2 和 1 的意思如下:
0 標(biāo)準(zhǔn)輸入(一般是鍵盤)
1 標(biāo)準(zhǔn)輸出(一般是顯示屏灶似,是用戶終端控制臺)
2 標(biāo)準(zhǔn)錯誤(錯誤信息輸出)
- kill process
1. netstat -anp查看PID(process id)
2. kill -9 pid
關(guān)于netstat 命令:
-a (all)顯示所有選項,netstat默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 拒絕顯示別名瑞你,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。(重要)
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名(macOS中表示協(xié)議 -p protocol)
-r 顯示路由信息希痴,路由表
-e 顯示擴展信息者甲,例如uid等
-s 按各個協(xié)議進行統(tǒng)計 (重要)
-c 每隔一個固定時間,執(zhí)行該netstat命令砌创。
過濾:
Linux:netstat -anp| grep 3306
1.2 Window
- 新建 .bat文件
@echo off
start javaw -jar xxx.jar
exit
- 參數(shù)設(shè)定
@echo off
start javaw -jar -Dspring.config.location=C:\TestPlatform8083\application.properties C:\TestPlatform8083\TestPlatform-===.jar
exit
- 偶爾還需要指定編碼格式虏缸,-Dfile.encoding=utf-8
如果想要指定Log日志
@echo off
start java -jar -Xms8000m -Xmx8000m -Xmn4000m test.jar > log\batchLog%date:~0,4%%date:~5,2%%date:~8,2%.log
exit
- @echo off 當(dāng)執(zhí)行失敗的時候,不打印失敗的信息
如果是調(diào)試階段嫩实,可以將這一段注掉 - @pause 是會彈出命令行窗口刽辙,提示“請按任意鍵繼續(xù)...”,不需要暫停的腳本,就把這一行注釋掉
- 需要指定java 啟動內(nèi)存的大小
java -jar -Xms8000m -Xmx8000m -Xmn4000m test.jar
- 殺進程
- 查詢過濾:
window: netstat -ano|findstr "3306" - 如要殺nginx.exe進程甲献,命令如下:
taskkill /im nginx.exe /f
NOTE: /f在這里意為強制結(jié)束進程 - 也可以使用pid殺:
taskkill /pid {pid}
2. War 包啟動
Reference
- 流風(fēng)雨情. (2020). java jar后臺啟動的三種方式
- 劉信堅的博客. (2018). Java -jar 如何在后臺運行項目