Можно, вероятно, сделать это с gdb
. Я записал о процессе в ответе на неопределенно связанный вопрос.
dupx является полным решением, которое реализует то, к чему относится @quack:
Dupx является простой утилитой для переотображения файлов уже запускающей программы. Оболочки как Bash позволяют легкое входной/вывод/ошибку перенаправление в то время, когда программа запущена с помощью>,/tmp/stdout перенаправит вывод эха к/tmp/stdout. Стандартные оболочки однако не обеспечивают возможность переотображения (перенаправления) вывода (или вводят, или ошибка) для уже запущенного процесса. Dupx пытается решить эту проблему при помощи дубликата (2) системный вызов из gdb (1). Dupx в настоящее время реализуется как простая обертка оболочки вокруг gdb сценария.