程序後台執行和指定日誌檔案輸出

2022-09-15 18:00:12 字數 981 閱讀 5333

對於shell指令碼執行,沒有任何報錯,也沒有找到看到任何日誌的情況,運用這種執行日誌重定向輸出,可以判斷執行出錯位置

1、linux中的 &符號

在linux中,當在前台執行某個作業時,終端被該作業佔據;而在後台執行作業時,它不會佔據終端。

可以使用&命令把作業放到後台執行。實際上,這樣是將命令放入到乙個作業佇列中了:

$ ./test.sh &

[1] 17208

$ jobs -l

[1]+ 17208 running ./test.sh &

在後台執行作業時要當心:需要使用者互動的命令不要放在後台執行,因為這樣你的機器就會在那裡傻等。

不過,作業在後台執行一樣會將結果輸出到螢幕上,干擾你的工作。

如果放在後台執行的作業會產生大量的輸出,最好使用下面的方法把它的輸出重定向到某個檔案中:

command >out.file 2>&1 &

在上面的例子中,2>&1表示所有的標準輸出和錯誤輸出都將被重定向到乙個叫做out.file 的檔案中。

當你成功地提交程序以後,就會顯示出乙個程序號,可以用它來監控該程序,或殺死它。

2、 退出賬號終端視窗後,還需程序執行,用nohup conmmand &

如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。

該命令可以在你退出帳戶之後繼續執行相應的程序。nohup就是不掛起的意思( no hang up)。

該命令的一般形式為: nohup conmmand &

如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到乙個名為nohup.out的檔案中,除非另外指定了輸出檔案:

nohup command > myout.file 2>&1

在上面的例子中,輸出被重定向到myout.file檔案中。

Redis日誌級別和指定日誌檔案

1.從conf檔案可知 redis 總共支援四個級別 debug verbose notice warning debug 會列印生成大量資訊,適用於開發 測試階段 verbose 包含很多不太有用的資訊,但是不像debug級別那麼混亂 notice 適度冗長,適用於生產環境 warning 僅記錄...

nohup 後台啟動程式,並輸出到指定日誌

1.啟動程式並輸入到指定日誌 nohup python manage.py runserver 0.0.0.0 9090 data zyj xadstat xadstat.log 2 1 或者 nohup python manage.py runserver 0.0.0.0 800 run.log ...

Log4j輸出到指定日誌檔案

1 log4j的概念 2 log4j的配置檔案 package dxz.log4j import org.apache.log4j.logger public class multilogger param args public static void main string args todo ...