nohup 命令的简单理解
1. nohup的本質(zhì)原理
nohup 命令,在默認(rèn)情況下(非重定向時),會輸出一個名叫 nohup.out 的文件到當(dāng)前目錄下,如果當(dāng)前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
nohup的本質(zhì)是通過忽略 SIGHUP 信號,從而不會在終端關(guān)閉會退出時由于 SIGHUP 信號導(dǎo)致程序退出,nohup本身不會將程序放入后臺運(yùn)行,但是通過nohup方式啟動的程序,由于其忽略了 SIGHUP 信號,其接收到 SIGHUP 信號也不會退出。
2. nohup 的簡單命令含義
nohup Command [ Arg … ] [&]Command:要執(zhí)行的命令。
Arg:一些參數(shù),可以指定輸出文件。
&:讓命令在后臺執(zhí)行,終端退出后命令仍舊執(zhí)行。
大多數(shù)人都會見到如下方式使用, 執(zhí)行命令并重定向輸入到xx.log文件中
nohup Command > xx.log 2>&1 &2>&1 :
將標(biāo)準(zhǔn)錯誤 2 重定向到標(biāo)準(zhǔn)輸出 &1 ,標(biāo)準(zhǔn)輸出 &1 再被重定向輸入到文件中。
0 – stdin (standard input,標(biāo)準(zhǔn)輸入)
1 – stdout (standard output,標(biāo)準(zhǔn)輸出)
2 – stderr (standard error,標(biāo)準(zhǔn)錯誤輸出)
3. 拓展內(nèi)容
&:
就是將程序放在后臺運(yùn)行。對于shell來說,通過& 可以把一個程序放在后臺運(yùn)行。其就是作為一個job來運(yùn)行的。此時如果終端斷開,程序還是會被 SIGHUP 信號導(dǎo)致退出的
Command:要執(zhí)行的命令。
Arg:一些參數(shù),可以指定輸出文件。
Linux輸出重定向>和>>區(qū)別如下:
1.> 會重寫文件,如果文件里面有內(nèi)容會覆蓋,沒有則創(chuàng)建并寫入。
2.>> 將內(nèi)容追加到文件中,即如果文件里面有內(nèi)容會把新內(nèi)容追加到文件尾,如果文件不存在,就創(chuàng)建文件
總結(jié)
以上是生活随笔為你收集整理的nohup 命令的简单理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android:制作 Nine-Patc
- 下一篇: 广州Uber优步司机奖励政策(1月4日~