linux后台启动,不输出日志文件
nohup命令
nohup 英文全稱 no hang up(不掛起),用于在系統后臺不掛斷地運行命令,退出終端不會影響程序的運行。
nohup 命令,在默認情況下(非重定向時),會輸出一個名叫 nohup.out 的文件到當前目錄下,如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
nohup的本質是通過忽略SIGHUP信號,從而不會在終端關閉會退出時由于SIGHUP信號導致程序退出,nohup本身不會將程序放入后臺運行,但是通過nohup方式啟動的程序,由于其忽略了SIGHUP信號,其接收到SIGHUP信號也不會退出。
語法格式
nohup Command [ Arg … ] [&]
參數說明
Command:要執行的命令。
Arg:一些參數,可以指定輸出文件。
&:讓命令在后臺執行,終端退出后命令仍舊執行。
大多數人都會見到如下方式使用, 執行命令并重定向輸入到xx.log文件中
nohup Command > xx.log 2>&1 &
2>&1 解釋:
將標準錯誤 2 重定向到標準輸出 &1 ,標準輸出 &1 再被重定向輸入到文件中。
0 – stdin (standard input,標準輸入)
1 – stdout (standard output,標準輸出)
2 – stderr (standard error,標準錯誤輸出)
&命令
就是將程序放在后臺運行。對于shell來說,通過& 可以把一個程序放在后臺運行。其就是作為一個job來運行的。此時如果終端斷開,程序還是會被SIGHUP信號導致退出的
語法格式
command ? [Arg ...] ? &
參數說明
Command:要執行的命令。
Arg:一些參數,可以指定輸出文件。
總結
nohup執行后默認會將輸出保存在nohup.out文件,但執行后無法接受標準輸入,關閉窗口后仍然會運行
&無法將標準輸出保存到文件中,可以接受標準輸入,關閉窗口后程序就會停止
nohup &一起使用綜合了兩者的優點,既能標準輸入也能將標準輸出的日志輸入到文件,關閉窗口后仍然會運行
示例
1. nohup java -jar lncms.war >/dev/null nohup.out &dev/null 輸出到到黑洞,意思是不輸出日志文件2.nohup java -jar lncms.war-> 8081.log & 這種就是吧日志寫到8081.log3.nohup java -jar lncms .war& 這種就是默認的nohup.out總結
以上是生活随笔為你收集整理的linux后台启动,不输出日志文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ElastricSearch打分简介
- 下一篇: Abelssoft CryptBox20