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