Linux後台執行任務且不列印輸出到終端

2022-06-29 05:51:10 字數 442 閱讀 1902

前言

linux執行指令碼一般都會占用終端,對於很快結束的任務可能沒什麼,但是有很多任務會一直執行或者執行花費很長時間,這時把它轉到後台執行是最明智的選擇。

正文

執行如下命令即可將指令碼轉到後台執行:

# ./dina.py &

dina.py就是我要執行的指令碼,就在當前資料夾下,命令末尾加個&就可以轉後台執行。

但是這種方式有個缺陷,就是它的輸出還是會列印到終端,給我們造成困擾,因此建議用下面的這種方式:

# ./dina.py >dinalog.txt 2>&1 &

這裡的》是定向符,可以將輸出列印到日誌檔案,dinalog.txt就是我建立的日誌檔案。>  預設為標準輸出重定向,2>&1  意思是把 標準錯誤輸出 重定向到 標準輸出。

Linux中後台執行任務

執行時,可以在命令最後新增 使其後台執行,但是其輸出依然會顯示,而且其執行是和當前shell繫結的 如果指令碼已經執行,可以使用ctrl z暫停,然後使用 bg 讓其轉入後台,再 disown 解除關聯,例如 z 1 stopped make j2 tomcat n00 master bg 1 ma...

Linux 任務後台執行(總結)

使任務後台執行fg 將後台執行或者停止的任務放到前台執行。bg使後台停止的任務執行在後台 jobs 列出後台執行或停止或已完成的程序 ctrl z 將當前在shell上執行的任務放入後台停止,可以結合 bg 命令使任務後台執行 上面方法中執行的程序都屬於shell的子程序,所以一旦shell關閉,斷...

Linux後台執行任務 nohup

不中斷 表示在後台執行命令,沒有辦法通過ctrl c結束命令,但是可以通過關閉終端來殺掉程序。nohup 不掛起 nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶 關閉終端之後繼續執行相應的程序。nohup就是不掛起的...