nohup、&、 2>&1詳解


前言

對一個程序員來說,java項目的打包部署也是一項必須掌握的一項技術任務,現我將自己平時在maven下打包以及部署項目總結,希望對有這方面訴求的小伙伴有所幫助!

一.maven項目打包及命令

(1).先把命令行切換到Maven項目的根目錄,例如:/data/springcloud/eureka,然后執行命令:mvn clean package
[root@localhost ~]# cd /data/springcloud/eureka
[root@localhost eureka]# mvn clean package
# 執行命令成功后,war包保存在項目的target目錄下。
注:需要先安裝Maven

(2).常用命令
//查看版本
mvn -v                                        
//創建 Maven 項目 
mvn archetype:create              
//編譯源代碼 
mvn compile                            
//編譯測試代碼
mvn test-compile                      
//運行應用程序中的單元測試 
mvn test                                   
//生成項目相關信息的網站
mvn site                                     
//依據項目生成 jar 文件 
mvn package                            
//在本地 Repository 中安裝 jar 
mvn install                               
//忽略測試文檔編譯
mvn -Dmaven.test.skip=true         
//清除目標目錄中的生成結果 
mvn clean                             
//將.java類編譯為.class文件
mvn clean compile               
//進行打包 
mvn clean package              
//執行單元測試 
mvn clean test                     
//部署到版本倉庫
mvn clean deploy                 
//使其他項目使用這個jar,會安裝到maven本地倉庫中
mvn clean install                 
//創建項目架構
mvn archetype:generate             
//查看已解析依賴
mvn dependency:list                   
//看到依賴樹
mvn dependency:tree                  
//查看依賴的工具
mvn dependency:analyze            
//從中央倉庫下載文件至本地倉庫
mvn help:system                          
//查看當前激活的profiles
mvn help:active-profiles              
//查看所有profiles
mvn help:all-profiles                    
//查看完整的pom信息
mvn help:effective -pom             

二.Linux nohup、&、 2>&1解釋

通常起一個jar 文件的時候可以直接通過java -jar 來啟動,比如:
A.nohup java -jar -Dspring.profiles.active=xxx -Dserver.port=xxx xxx.jar >security.out 2>&1 &
B.nohup java -jar gp_doublecontrolle-2.2.6-11-03.jar>> gp_doublecontrolle_2021_1103.log 2>&1 &
但是這里面很多的參數,不知道大家有沒有自信研究過

1. nohup
放在命令的開頭,表示不掛起(no hang up),也即,關閉終端或者退出某個賬號,進程也繼續保持運行狀態,一般配合&符號一起使用。如nohup command &。
2. 2>&1 &
這里先看一下 shell里面幾個數字的含義
/dev/null 表示空設備文件
0 表示stdin標准輸入
1 表示stdout標准輸出
2 表示stderr標准錯誤
> file 表示將標准輸出輸出到file中,也就相當於 1>file 
2> error 表示將錯誤輸出到error文件中
2>&1 也就表示將錯誤重定向到標准輸出上
2>&1 >file :錯誤輸出到終端,標准輸出重定向到文件file,等於 > file 2>&1(標准輸出重定向到文件,錯誤重定向到標准輸出)。
& 放在命令到結尾,表示后台運行,防止終端一直被某個進程占用,這樣終端可以執行別到任務,配合 >file 2>&1可以將log保存到某個文件中,但如果終端關閉,則進程也停止運行。如 command > file.log 2>&1 & 。


免責聲明!

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



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