0

我有一个在 Slackware 13.37 上运行的进程,它将数据输出到其终端窗口。是否可以在不终止/重新启动进程的情况下将此输出读取/重定向到 ssh 窗口/PuTTY?

4

1 回答 1

0

您可以使用 shell 重定向或通过诸如script-- 之类的程序来捕获输出,前提是您的程序是“以通常的方式”启动的。(如果有适当的权限,可以通过特殊设备写入其他终端)。

假设您已经知道重定向输出,例如,

foo >bar

但有一些情况,例如,一个继续写入终端的 GUI 程序。

不用担心通过重定向输出来干扰程序,我会在script启动的 shell 中运行和启动程序script。然后从该 shell 写入的任何内容都会进入该typescript文件(默认情况下)。

另一方面,启动终端窗口的 GUI 程序可能/可能无法配置为允许使用可以捕获输出的启动脚本自定义它们。

如何在 linux 终端中再次打开进程?,可以使用strace附加到正在运行的进程,给定它的进程 ID。使用7 Strace Examples to Debug the Execution of a Program in Linux-e中描述的选项,您可以提取调用。write

请记住,strace写入中的非打印字符将转换为可打印文本,并且将strace函数参数显示为固定限制(您可以使用该-s选项进行调整)。的输出strace可以被重定向(它不需要在与原始进程相同的终端上运行)。

于 2015-03-25T09:11:07.467 回答