Files

重定向/grep 現有 shell 的 STDOUT

  • May 6, 2016

我執行了很多長時間執行的程序(模擬),將進度列印到STDOUT. 我偶爾會忘記重定向到STDOUT我可以重定向到的文件grep,而且通常重啟太遠了。

**問題:**在不停止該過程的情況下,有沒有辦法可以連接到另一個STDOUT

這些總是在 OS X 10.7.3 上使用 ZSH 在 GNU 螢幕中執行。

這裡提到了一個巧妙的hack,它使用 GDB 附加到程序,一個名為的實用程序包裝了這個功能。dupx

dupx 手冊頁

Dupx 是一個簡單的實用程序,用於重新映射已執行程序的文件。像 Bash 這樣的 shell 允許在程序啟動時使用>, < -類似的語法輕鬆進行輸入/輸出/錯誤重定向,例如:echo 'redirect this text' > /tmp/stdout將輸出重定向echo/tmp/stdout.

然而,標準 shell 不提供為已啟動的程序重新映射(重定向)輸出(或輸入或錯誤)的能力。Dupx 試圖通過使用dup(2)內部系統呼叫來解決這個問題gdb(1)。Dupx 目前被實現為gdb腳本周圍的簡單外殼包裝器。

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