Background-Process

是否可以在 bg 之後停止命令的輸出?

  • February 17, 2019

假設這種情況

wget http://file 

wget 開始下載文件。

我把它放在後台。

^Z
bg

該命令進入後台。

但是它的輸出仍然在控制台上——如果控制台仍然打開的話。

是否可以停止命令的輸出?

wget 只是一個例子;考慮一個寫入大量輸出的命令。

在控制台上,我知道可以執行bg然後關閉終端並打開另一個終端,但是如果我只有一個終端可用而沒有偽終端怎麼辦?

這是一個在命令執行實際重定向命令輸出的解決方案:https ://superuser.com/questions/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a-日誌文件

對於在使用終端的日常場景中更有用的解決方案,您可以 在後台wget -o log http://file & 執行wget並將其輸出寫入log而不是終端。當然,在這種情況下,您根本看不到任何輸出(即使您wget在前台執行),但您可以tail -f log查看輸出的增長情況。

您的意思是要讓 wget(或其他一些 cmd)在後台執行而不向控制台輸出消息嗎?如果是這個問題,你可以試試redirection

$ wget http://file > /dev/null

上面的 cmd 將重定向stdout/dev/null,除了錯誤消息之外,您將看不到其他消息。如果您也不想看到錯誤消息,請試試這個

$ wget http://file 1>/dev/null 2>&1

您可以穀歌redirection了解更多詳細資訊。

引用自:https://unix.stackexchange.com/questions/398127