jmd*_*din 3 process gnu-screen io-redirection files stdout
我运行了很多长时间运行的进程(模拟),将进度打印到STDOUT
. 我偶尔会忘记重定向到STDOUT
我可以重定向到的文件grep
,而且通常太远而无法重新启动。
问题:在不停止进程的情况下,有没有办法可以连接到另一个进程STDOUT
?
这些总是在 OS X 10.7.3 上使用 ZSH 在 GNU 屏幕中运行。
小智 5
这里提到了一个聪明的hack ,它使用 GDB 附加到进程,一个名为的实用程序dupx
包装了这个功能。
从dupx
联机帮助页:
Dupx 是一个简单的实用程序,用于重新映射已运行程序的文件。像 Bash 这样的 Shell 允许在程序启动时使用
>, < -
类似的语法轻松地进行输入/输出/错误重定向,例如:echo 'redirect this text' > /tmp/stdout
将输出重定向echo
到/tmp/stdout
.然而,标准 shell 不提供为已经启动的进程重新映射(重定向)输出(或输入或错误)的能力。Dupx 试图通过使用
dup(2)
来自内部的系统调用来解决这个问题gdb(1)
。Dupx 目前被实现为一个围绕gdb
脚本的简单 shell 包装器。
归档时间: |
|
查看次数: |
932 次 |
最近记录: |