Linux 環境下啓動,停止 jar

1. 普通運行

java -jar <name>.jar 

運行程序,ctrl+c 停止運行

2. 後臺運行

java -jar <name>.jar &

 後臺運行,關閉終端,停止運行

3. nohup命令運行   

nohup java -jar XXX.jar &

    當賬戶退出或終端關閉時,程序仍然運行。
    注意,該作業的所有輸出被重定向到nohup.out的文件中。  

nohup java -jar <name>.jar > Log.log & 
或者
nohup java -jar <name>.jar >> Log.log & 

    所有輸出被重定向到Log.log的文件中。"> Log.log" 該命令就是指定日誌輸出的文件。
    ">>"表示將輸出以追加的方式重定向到Log.log中。     

nohup java -jar <name>.jar > Log.log 2>&1 & 
或者
nohup java -jar <name>.jar >> Log.log 2>&1 & 
或者
nohup java -jar <name>.jar > /dev/null 2>&1 & 


    標準輸入文件(stdin):stdin的文件描述符爲0,Unix程序默認從stdin讀取數據。
    標準輸出文件(stdout):stdout 的文件描述符爲1,Unix程序默認向stdout輸出數據。
    標準錯誤文件(stderr):stderr的文件描述符爲2,Unix程序會向stderr流中寫入錯誤信息。


    屏蔽輸出,起到禁止輸出作用:/dev/null 是一個特殊的文件,寫入到它的內容都會被丟棄;

    如果嘗試從該文件讀取內容,那麼什麼也讀不到。但是 /dev/null 文件非常有用,將命令的輸出重定向到它,會起到"禁止輸出"的效果。
    "> Log.log 2>&1" :表示將 stdout 和 stderr 合併後重定向到 Log.log

4. 停止應用程序

ps -ef | grep server_name
或者
ps aux|grep server_name.jar

運行上述命令中任何一個都可以拿到PID號

[root@VM_0_13_centos microservice]# ps aux|grep jar
root      9827  0.0  3.0 2253056 30900 ?       Sl    2019 150:34 java -jar heartRate_v2.jar
root     32482  0.0  0.0 112712   964 pts/4    R+   11:30   0:00 grep --color=auto jar
[root@VM_0_13_centos microservice]# ps aux|grep heartRate_v2.jar
root      9827  0.0  3.0 2253056 30900 ?       Sl    2019 150:34 java -jar heartRate_v2.jar
root     32597  0.0  0.0 112712   980 pts/4    R+   11:30   0:00 grep --color=auto heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps -ef|grep java
root      3575 26683  0 11:37 pts/4    00:00:00 grep --color=auto java
root      9827     1  0  2019 ?        02:30:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps -ef| grep heartRate_v2.jar
root      3755 26683  0 11:37 pts/4    00:00:00 grep --color=auto heartRate_v2.jar
root      9827     1  0  2019 ?        02:30:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps aux|grep heartRate_v2.jar
root      3892  0.0  0.0 112712   976 pts/4    R+   11:38   0:00 grep --color=auto heartRate_v2.jar
root      9827  0.0  3.0 2253056 30900 ?       Sl    2019 150:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]#

注意: 爲什麼ps aux |grep xxx 會出現grep --color=auto xxx 的結果,因爲grep本身也是一個進程,ps會將grep進程的信息也顯示出來。

根據查詢結果得到pid=9827

kill -9 9827

執行既可以停止應用程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章