nohup 命令的简单理解
1. nohup的本質原理
nohup 命令,在默認情況下(非重定向時),會輸出一個名叫 nohup.out 的文件到當前目錄下,如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
nohup的本質是通過忽略 SIGHUP 信號,從而不會在終端關閉會退出時由于 SIGHUP 信號導致程序退出,nohup本身不會將程序放入后臺運行,但是通過nohup方式啟動的程序,由于其忽略了 SIGHUP 信號,其接收到 SIGHUP 信號也不會退出。
2. nohup 的簡單命令含義
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,標準錯誤輸出)
3. 拓展內容
&:
就是將程序放在后臺運行。對于shell來說,通過& 可以把一個程序放在后臺運行。其就是作為一個job來運行的。此時如果終端斷開,程序還是會被 SIGHUP 信號導致退出的
Command:要執行的命令。
Arg:一些參數,可以指定輸出文件。
Linux輸出重定向>和>>區別如下:
1.> 會重寫文件,如果文件里面有內容會覆蓋,沒有則創建并寫入。
2.>> 將內容追加到文件中,即如果文件里面有內容會把新內容追加到文件尾,如果文件不存在,就創建文件
總結
以上是生活随笔為你收集整理的nohup 命令的简单理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android:制作 Nine-Patc
- 下一篇: Python对文件的操作(转)