一、啟動jar包
Linux 運行jar包命令如下:
方式一:
java -jar shareniu.jar
特點:當前ssh窗口被鎖定,可按CTRL + C打斷程序運行,或直接關閉窗口,程序退出
那如何讓窗口不鎖定?
方式二
java -jar shareniu.jar &
&代表在后台運行。
特定:當前ssh窗口不被鎖定,但是當窗口關閉時,程序中止運行。
繼續改進,如何讓窗口關閉時,程序仍然運行?
方式三
nohup java -jar shareniu.jar &
nohup 意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行
當用 nohup 命令執行作業時,缺省情況下該作業的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。
方式四
nohup java -jar shareniu.jar >temp.txt &
解釋下 >temp.txt
command >out.file
command >out.file是將command的輸出重定向到out.file文件,即輸出內容不打印到屏幕上,而是輸出到out.file文件中。
可通過jobs命令查看后台運行任務
jobs
那么就會列出所有后台執行的作業,並且每個作業前面都有個編號。
如果想將某個作業調回前台控制,只需要 fg + 編號即可。
fg 23
二、指定端口或配置文件
Linux中jar包指定端口啟動並記錄日志:
nohup java -jar -Dserver.port=38080 group-buying-0.0.1-SNAPSHOT.jar >log.log &
啟動時,指定正式或者測試環境
nohup java -jar /opt/jar/group-buying.jar --spring.profiles.active=prod >/opt/jar/prod.log &
三、查看進程及殺死進程
查看某端口占用的線程的pid netstat -nlp | grep 端口號
netstat -nlp | grep :9181
如果忘了進程號,可以通過如下命令來查看當前運行的jar包程序進程號
ps -ef | grep xxx.jar
或者
ps -aux | grep java
//殺死進程
kill -s 9 24204
24204代表上一步查出的進程ID