1.java-jarXXX.jar
當前ssh窗口被鎖定,可按CTRL + C打斷程序運行,或直接關(guān)閉窗口,程序退出
2.java-jarXXX.jar&
&代表在后臺運行。當前ssh窗口不被鎖定,但是當窗口關(guān)閉時,程序中止運行。
3.nohupjava-jarXXX.jar&
通過命令行的第一個參數(shù)指定一個文件描述符,同時利用shell的重定向功能在該描述符上打開文件,然后用fcntl的f_getfl命令取出file status flag并打印。指定輸出日志,正確輸出到從定向文件/tmp/123.log,錯誤的輸出定義到/tmp/123.log 如果每天都需要操作記錄linux常用命令,利用來追加>>。其中:wq和:x是存盤退出,而:q是直接退出,如果文件已有新的變化,vi會提示你保存文件而:q命令也會失效,這時你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改變后的文件,你就需要用:q。
4.nohupjava-jarXXX.jar>temp.txt&
command >out.file是將command的輸出重定向到out.file文件,即輸出內(nèi)容不打印到屏幕上,而是輸出到out.file文件中。>temp.txt則是將輸出的內(nèi)容輸出到temp.txt文件中
5.剛才布置服務(wù)的時候,啟動報錯,查詢了一下資料,看到別人也有說在使用nohup命令布服務(wù)的時候,會報 “nohup: ignoring input and redirecting stderr to stdout” 錯誤,我檢查了一下我的項目,是因為我沒有把jar包放入linux服務(wù)器中,把服務(wù)jar包放進來就好了linux常用命令,他們的解決方法是在輸出文件的后面加上“2>&1 &”,這里先給大家加上,萬一以后這個方法能解決大家的問題呢。完整命令為:nohup java -jar order-manage-service-0.0.1-SNAPSHOT.jar >> (日志存放絕對路徑) /idtest.log 2>&1 &