1. 程式人生 > >Linux後臺執行 nohup command >/dev/null 2>&1 &

Linux後臺執行 nohup command >/dev/null 2>&1 &

Linux shell中有三種輸入輸出,分別為標準輸入,標準輸出,錯誤輸出,分別對應0,1,2。我們可以直接通過輸出重定向>(或>>,表示追加)將某種輸出重定向到其他地方,如裝置,檔案,比如:

1 ls ls.log  #標準輸出重定向
2 ls 2> ls.log #標準錯誤重定向
3 ls > /dev/null #重定向到null裝置,相當於直接忽略輸出

但是,有時候,我們想把標準輸出以及錯誤輸出一起重定向某個檔案,這是可以通過 2>&1 實現,也可以通過兩個同時重定向到某個檔案

1 ls >ls
.log 2>&1 //標準輸出重定向到ls.log,而錯誤又重定向到標準輸出,這兩個位置不可換
2 ls 2>>ls.log 1>>ls.log

先說一下linux重定向:
0、1和2分別表示標準輸入、標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出。
在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中:./program 2>log。這樣標準輸出還是在螢幕上,但是錯誤資訊會輸出到log檔案中。
另外,也可以實現0,1,2之間的重定向。2>&1:將錯誤資訊重定向到標準輸出。
Linux下還有一個特殊的檔案/dev/null,它就像一個無底洞,所有重定向到它的資訊都會消失得無影無蹤。這一點非常有用,當我們不需要回顯程式的所有資訊時,就可以將輸出重定向到/dev/null。

如果想要正常輸出和錯誤資訊都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

還有一種做法是將錯誤重定向到標準輸出,然後再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此處的順序不能更改,否則達不到想要的效果,此時先將標準輸出重定向到 /dev/null,然後將標準錯誤重定向到標準輸出,由於標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null,於是一切靜悄悄:-)

由於使用nohup時,會自動將輸出寫入nohup.out檔案中,如果檔案很大的話,nohup.out就會不停的增大,這是我們不希望看到的,因此,可以利用/dev/null來解決這個問題。

nohup ./program >/dev/null 2>log &

如果錯誤資訊也不想要的話:

nohup ./program >/dev/null 2>&1 &

Linux - 請允許我靜靜地後臺執行

http://blog.jobbole.com/111850/

nohup, /dev/null 2>&1,輸出重定向

http://jackyrong.iteye.com/blog/1775346

轉載地址:

相關推薦

Linux後臺執行 nohup command >/dev/null 2>&1 &

Linux shell中有三種輸入輸出,分別為標準輸入,標準輸出,錯誤輸出,分別對應0,1,2。我們可以直接通過輸出重定向>(或>>,表示追加)將某種輸出重定向到其他地方,如裝置,檔案,比如: 1 ls > ls.log  #標準輸出重定向

linux shell中 /dev/null 2>&1 含義

shell中可能經常能看到:echo log > /dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出/dev/null :代表空裝置檔案>  :代表重定向到哪裡,例如:echo "123" > /home/123.

Linux Shell 1 /dev/null 2 1 含義

shell中可能經常能看到:echo log > /dev/null 2>&1   命令的結果可以通過%>的形式來定義輸出/dev/null :代表空裝置檔案>  :代表重定向到哪裡,例如:echo "123" > /home/123.t

Linux下Shell輸出重定向到空裝置檔案1>/dev/null 2>&1

Linux下使用shell命令時經常使用類似這樣的Shell輸出重定向: 1>/dev/null 2>&1 在Shell命令的結尾,我們可以通過>符號來重定向輸出。 1. 標準輸入stdin檔案描述符為0,標準輸出stdout檔案描述符為1

nohup /dev/null 2>&1 含義詳解

為何2>&1要寫在後面?command > file 2>&1 首先是command > file將標準輸出重定向到file中, 2>&1 是標準錯誤拷貝了標準輸出的行為,也就是同樣被重定向到file中,最終結果就是標準輸出和錯誤都被重定向到file中。 

2>/dev/null和>/dev/null 2>&12>&1>/dev/null

Linux中的標準輸入輸出 標準輸入0    從鍵盤獲得輸入 /proc/self/fd/0  標準輸出1    輸出到螢幕(即控制檯) /proc/self/fd/1  錯誤輸出2    輸出到螢幕(即控制檯) /proc/self/fd/2  /dev/null代表l

相關 /dev/null 2>&1 詳解

1:> 代表重定向到哪裡,例如:echo “123” > /home/123.txt 2:/dev/null 代表空裝置檔案 3:2> 表示stderr標準錯誤 4:& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1 5:1 表示stdout標準輸出,系統預設值

再談shell之“>/dev/null 2>&1

來自:http://www.ixdba.net/a/os/linux/2010/0422/35.html 【轉載時請以超連結形式標明文章出處和作者資訊及本宣告】 原文連結: http://www.ixdba.net/a/os/linux/2010/0422/35.html

相關 /dev/null 2>&1 詳解

用 /dev/null 2>&1 這樣的寫法.這條命令的意思是將標準輸出和錯誤輸出全部重定向到/dev/null中,也就是將產生的所有資訊丟棄.    下面就為大家來說一下, command > file 2>file  與command >

crontab 常見 /dev/null 2>&1 詳解

大部分在 crontab 計劃任務中都會年到未尾帶 >/dev/null 2>&1,是什麼意思呢? > 是重定向 /dev/null 代表空裝置檔案 1 表示stdout標準輸出,系統預設值是1,所以 ">/dev/null" 等同於 "

Shell中的>/dev/null 2>&12>&1 >/dev/null 與&>/dev/null 的區別

預設情況下,總是有三個檔案處於開啟狀態,標準輸入(鍵盤輸入)、標準輸出(輸出到螢幕)、標準錯誤(也是輸出到螢幕),它們分別對應的檔案描述符是0,1,2 。那麼我們來看看下面的幾種重定向方法的區別: >/dev/null 2>&1  //  實際上,應該等

linux後臺啟動nohup經常跟的>/dev/null 2>&1是什麽意思

htm 標準輸出 com gson 錯誤輸出 body 文件名 linux http https://www.cnblogs.com/wangsongbai/p/10215155.html 我們在寫啟動腳本的時候,會用nohup &,這個大家都知道,

linux ">/dev/null 2>&1 &"

運行 內容 變量 系統默認 命令行 編寫shell 後者 繼承 編寫 0:表示鍵盤輸入(stdin)1:表示標準輸出(stdout),系統默認是1 2:表示錯誤輸出(stderr) command >/dev/null 2>&1 & == co

linux 重定向命令詳解(如1>/dev/null 2>&1)

信息 重定向命令 指定路徑 定向 終端 pre inux 輸入 設備 基礎 0:表示標準輸入stdin 1:表示標準輸出stdout,系統默認為1,可省略(即1>/dev/null等價於>/dev/null) 2:表示標準錯誤stderr >:表示重定向

linux系統shell中重定向 標準輸出 錯誤輸出 >/dev/null 2>&1

經常shell指令碼中,會看到: 仔細體會下面例子。 >/dev/null  2>&1 這句話的意思簡單理解為:標準輸出和錯誤輸出都不會輸出出來。 [email protected]:/tmp>date>1.txt >/de

python nohup linux 後臺執行輸出

遇到問題 nohup python flush.py & 這樣執行,生成了nohup.out檔案,但是內容始終是空的,試了半天也不行。浪費了不少時間。原因    python的輸出又緩衝,導致out.log並不能夠馬上看到輸出。  &nb

linux後臺執行python程式 nohup

nohup python -u test.py > out.log 2>&1 &nohup sh **.sh > /dev/null 2>&1 &   如上所示:nohup 和 &  組合了後臺執行程式。 可以輸出到 o

linux後臺執行命令:&和nohup詳解

&    當在前臺執行某個作業時,終端被該作業佔據;可以在命令後面加上& 實現後臺執行。例如:sh test.sh &  適合在後臺執行的命令有f i n d、費時的排序及一些s h e l l指令碼。在後臺執行作業時要當心:需要使用者

nohup /dev/null 2>&1 含義詳解

nohup命令:如果你正在執行一個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思( n ohang up)。 該命令的一般形式為:nohup command & ls xxx

linux後臺執行命令:&和nohup

當我們在終端或控制檯工作時,可能不希望由於執行一個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的程序,我們更希望它能夠在每天的非負荷高峰時間段執行(例如凌晨)。為了使這些程序能夠在後臺執行,也就是說不在終端螢幕上執行,有幾種