工作中需要將升級後的應用程序部署到Linux機器。以前對Linux不太熟悉,在部署的過程學到一些Linux命令。
應用程序是用Java,打包成jar文件。通過java -jar XXXXX.jar啓動程序。
我使用F-Secure SSH Client工具,但是一旦關閉遠程連接客戶端,程序就停止。
後來,還是詢問公司同事,使用nohup java -jar XXXXX.jar & 命令可以保證命令在後臺運行。 同時,這個命令還會在這個目錄下創建一個nohup.out文件,並所有輸出和錯誤信息寫入。
這樣,就可以通過命令:tail -f nohup.out 來實時監控程序的運行了。
應用程序是用Java,打包成jar文件。通過java -jar XXXXX.jar啓動程序。
我使用F-Secure SSH Client工具,但是一旦關閉遠程連接客戶端,程序就停止。
後來,還是詢問公司同事,使用nohup java -jar XXXXX.jar & 命令可以保證命令在後臺運行。 同時,這個命令還會在這個目錄下創建一個nohup.out文件,並所有輸出和錯誤信息寫入。
這樣,就可以通過命令:tail -f nohup.out 來實時監控程序的運行了。
如果想停止,可以通過使用ps -ef , 然後再使用kill <PID>即可。
nohup 命令
用途 不掛斷地運行命令。
語法
nohup { -p pid | Command [ Arg ... ] [ & ] }
描述
nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,同時忽略所有的掛起(SIGHUP)信號,或者修改用 -p 選項指定的進程來忽略所有的掛起(SIGHUP)信號。
在註銷後還可以使用 nohup 命令運行後臺中的程序。要運行後臺中的 nohup 命令,添加 &(表示“and”的符號)到命令的尾部。
注:不能同時指定 -p pid 和 Command。
使用 -p pid 時,指定進程的輸出將不會重定向到 nohup.out。
標誌
-p pid pid 是正在運行的進程的進程標識。nohup 命令修改指定進程來忽略所有的掛起(SIGHUP)信號。
退出狀態
該命令返回下列出口值: 126 可以查找但不能調用 Command 參數指定的命令。
127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。
否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。