Io-Redirection

程序啟動後的重定向

  • July 18, 2016

假設我從終端呼叫了 Firefox firefox,然後我回到了終端。我現在可以使用 ctrl-z 暫停該程序,並在後台使用bg. 但是,它將繼續在終端中產生輸出。有沒有辦法在這一點上重定向?也就是說,要得到寫完的結果firefox &>/dev/null &

您可以使用gdb. 您需要找到 firefox 的程序 ID (PID),如果您使用Ctrl+暫停了程序,它可能包含在暫停消息中Z

如果該消息不包含終端中的 PID,您可以使用以下內容找到它:

ps aux | grep firefox

有了它,你可以使用這個命令來啟動gdb

sudo gdb -p PID

在程序中,這些命令會將 stdout 和 stderr 重定向到/dev/null.

p dup2(open("/dev/null",0),1)
p dup2(open("/dev/null",0),2)
detach
quit

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