在linux雲服務器上運行Jar文件


       在linux服務器上運行Jar文件時通常的方法是:

  $ java -jar test.jar
  • 這種方式特點是ssh窗口關閉時,程序中止運行.或者是運行時沒法切出去執行其他任務,有沒有辦法讓Jar在后台運行呢:
  • 方法一:
$ nohup java -jar test.jar &

 

 nohup 意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行 //當用 nohup 命令執行作業時,缺省情況下該作業的所有輸出被重定向到nohup.out的文件中 

除非另外指定了輸出文件。
  • 方法二:
 $ nohup java -jar test.jar >temp.txt & 這種方法會把日志文件輸入到你指定的文件中,沒有則會自動創建

 

  • jobs命令和 fg命令:
     $ jobs

那么就會列出所有后台執行的作業,並且每個作業前面都有個編號。

如果想將某個作業調回前台控制,只需要 fg + 編號即可。 $ fg 2

如系統配置過slf4j 打印配置 則不需要系統提供的默認打印,配置如下

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &

關鍵在於最后的 >/dev/null 2>&1 部分,/dev/null是一個虛擬的空設備(類似物理中的黑洞),任何輸出信息被重定向到該設備后,將會石沉大海

>/dev/null 表示將標准輸出信息重定向到"黑洞"

2>&1 表示將標准錯誤重定向到標准輸出(由於標准輸出已經定向到“黑洞”了,即:標准輸出此時也是"黑洞",再將標准錯誤輸出定向到標准輸出,相當於錯誤輸出也被定向至“黑洞”)


  • 查看某端口占用的線程的pid
    netstat -nlp |grep :8080

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM