1.啟動程式並輸入到指定日誌
nohup python manage.py runserver 0.0.0.0:9090 > /data/zyj/xadstat/xadstat.log 2&>1 &2.檢視當前程序號(可能會起兩個程序要殺死兩次)或者 nohup python manage.py runserver 0.0.0.0:800 >> run.log 2>&1 &
3.殺死程序 kil -9
unix/linux下一般比如想讓某個程式在後台執行,很多都是使用 & 在程式結尾來讓程式自動執行。
比如我們要執行weblogic在後台:
./startweblogic.sh &
但是加入我們很多程式並不象weblogic一樣做成守護程序,可能我們的程式只是普通程式而已,一般這種程式使用 &結尾。
但是如果終端關閉,那麼程式也會被關閉。
但是為了能夠後台執行,那麼我們就可以使用nohup這個命令。
比如我們有個startweblogic.sh需要在後台執行,那麼就使用nohup:
nohup ./startweblogic.sh &
嗯,證明執行成功,同時把程式執行的輸出資訊放到當前目錄的 nohup.out 檔案中去。
nohup 命令
用途:linux命令用法,不結束通話地執行命令。
語法:nohup command [ arg ... ] [ & ]
在登出後使用 nohup 命令執行後台中的程式。要執行後台中的 nohup 命令,新增 & ( 表示「and」的符號)到命令的尾部。
■場景執行nohup命令的時候,經常會出現下面這種沒有寫入許可權的錯誤。
■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命令的時候,經常由於輸出nohup.out的路徑沒有寫入許可權,而無法使用nohup。
這是可以使用linux重定向的方法,將nohup.out重定向至乙個有寫入許可權的路徑,或者直接扔到/dev/null中。
nohup ./program >/dev/null 2>/dev/null &
或者nohup ./program >/dev/null 2>&1 &
引言: 有時候需要在linux上設定乙個後台程序,但是當你關閉terminal之時,它會被系統kill掉,那該如何來實現其後台程序能一直執行下去呢?
使用方式:
nohup command-with-options &當在螢幕上敲擊上述命令之後,螢幕上會出現如下資訊:
敲擊回車,就退出了nohup.out當前的介面,進入正常的命令列。
輸出日誌資訊:
接下來的輸出的日誌資訊,將輸出到nohup.log.即將螢幕上輸出的日誌資訊直接輸出到nohup.log檔案。
後台程序的標誌符:
如果乙個命令只使用&來標識,則表示其在當前session中,執行在後台。如果當前session關閉或者當前的terminal工具關閉,則其附屬的程序將會關閉。
正常執行的後台程序都是需要nohup與&,兩者並行使用的,方可保證其在後台正常執行。
1.啟動程式並輸入到指定日誌
nohup python manage.py runserver 0.0.0.0:9090 > /data/zyj/xadstat/xadstat.log 2&>1 &2.檢視當前程序號(可能會起兩個程序要殺死兩次)或者 nohup python manage.py runserver 0.0.0.0:800 >> run.log 2>&1 &
3.殺死程序 kil -9
unix/linux下一般比如想讓某個程式在後台執行,很多都是使用 & 在程式結尾來讓程式自動執行。
比如我們要執行weblogic在後台:
./startweblogic.sh &
但是加入我們很多程式並不象weblogic一樣做成守護程序,可能我們的程式只是普通程式而已,一般這種程式使用 &結尾。
但是如果終端關閉,那麼程式也會被關閉。
但是為了能夠後台執行,那麼我們就可以使用nohup這個命令。
比如我們有個startweblogic.sh需要在後台執行,那麼就使用nohup:
nohup ./startweblogic.sh &
嗯,證明執行成功,同時把程式執行的輸出資訊放到當前目錄的 nohup.out 檔案中去。
nohup 命令
用途:linux命令用法,不結束通話地執行命令。
語法:nohup command [ arg ... ] [ & ]
在登出後使用 nohup 命令執行後台中的程式。要執行後台中的 nohup 命令,新增 & ( 表示「and」的符號)到命令的尾部。
■場景執行nohup命令的時候,經常會出現下面這種沒有寫入許可權的錯誤。
■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命令的時候,經常由於輸出nohup.out的路徑沒有寫入許可權,而無法使用nohup。
這是可以使用linux重定向的方法,將nohup.out重定向至乙個有寫入許可權的路徑,或者直接扔到/dev/null中。
nohup ./program >/dev/null 2>/dev/null &
或者nohup ./program >/dev/null 2>&1 &
引言: 有時候需要在linux上設定乙個後台程序,但是當你關閉terminal之時,它會被系統kill掉,那該如何來實現其後台程序能一直執行下去呢?
使用方式:
nohup command-with-options &當在螢幕上敲擊上述命令之後,螢幕上會出現如下資訊:
敲擊回車,就退出了nohup.out當前的介面,進入正常的命令列。
輸出日誌資訊:
接下來的輸出的日誌資訊,將輸出到nohup.log.即將螢幕上輸出的日誌資訊直接輸出到nohup.log檔案。
後台程序的標誌符:
如果乙個命令只使用&來標識,則表示其在當前session中,執行在後台。如果當前session關閉或者當前的terminal工具關閉,則其附屬的程序將會關閉。
正常執行的後台程序都是需要nohup與&,兩者並行使用的,方可保證其在後台正常執行。
Linux下在後台啟動程式 nohup 輸出重定向
前情提要 當前有乙個helloword.sh指令碼,其中執行的是乙個py指令碼。python helloword.pyprint hello word 後台執行任務 nohup sh helloword.sh output.txt 2 1 nohup sh x helloword.sh output...
Python 後台啟動程式
在python開發工作中我們會遇上乙個程式或者指令碼執行時間過長的問題,在linux程式下操作時間超過180分鐘會自動退出,這樣就會中斷我們的程式,前功盡棄的感覺真的難受 那有什麼好的解決方案呢?我們可以 方案1,將程式或者介面部署到nginx伺服器上,這樣程式進入listening 持續監聽 狀態...
linux關於後台啟動程式
正經學徒,佛系記錄,不搞事情 最終語句 nohup test.sh 1 dev null 2 1 解釋 建立test.sh測試指令碼 vi test.sh 內容 bin bash while true do echo 不停的執行 sleep 5 done 設定檔案許可權可執行 結果是內容直接輸出在控...