通过SSH,linux读取进程的控制台输出

时间:2015-03-25 08:42:29

标签: linux ssh console slackware

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

1 个答案:

答案 0 :(得分:0)

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

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

foo >bar

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

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

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

How to open process again in linux terminal?中所述,可以使用strace附加到正在运行的进程,并提供其进程ID。使用7 Strace Examples to Debug the Execution of a Program in Linux中所述的-e选项,您只需提取write次来电。

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