Linux 之 nohup 命令
nohup命令 可以將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端。
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到$HOME/nohup.out文件中。如果沒有文件能創(chuàng)建或打開以用于追加,那么 command 參數指定的命令不可調用。如果標準錯誤是一個終端,那么把指定的命令寫給標準錯誤的所有輸出作為標準輸出重定向到相同的文件描述符。
命令格式
nohup Command [ Arg … ] [ & ]
參數說明
- Command:要執(zhí)行的命令。
- Arg:一些參數,可以指定輸出文件。
- &:讓命令在后臺執(zhí)行,終端退出后命令仍舊執(zhí)行。
命令后臺執(zhí)行,正常輸出和錯誤輸出到a.log文件
- > nohup command > a.log 2>&1 &
2>&1 解釋
將標準錯誤 2 重定向到標準輸出 &1 ,標準輸出 &1 再被重定向輸入到 runoob.log 文件中。
- 0 – stdin (standard input,標準輸入)
- 1 – stdout (standard output,標準輸出)
- 2 – stderr (standard error,標準錯誤輸出)
后臺下載文件
- > nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz &
- // 查看后臺的進程
- > jobs
- [1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz &
下載過程中,輸出在nohup.out文件中,可以使用tail -f nohup.out動態(tài)查看。
后臺運行SpringBoot項目
- > nohup java -jar rumenz.jar &
后臺執(zhí)行bash命令
- > nohup bash -c 'cal && ls' > output.txt