通过 SSH 读取进程的控制台输出,linux
Reading the console output of a process through SSH, linux
我在 Slackware 13.37 上有一个进程 运行,它将数据输出到它的终端 window。是否可以 read/redirect 此输出到 ssh window/PuTTY 而无需 terminating/restarting 进程?
您可以使用 shell 重定向或通过 script
之类的程序捕获输出——前提是您的程序已启动 "in the usual way"。 (如果有适当的权限,可以通过特殊设备写入其他终端)。
假设您已经了解重定向输出,例如,
foo >bar
但有一些情况,例如,一个 GUI 程序继续写入终端。
无需担心通过重定向输出来干扰程序,我会 运行 script
并在 script
启动的 shell 内启动程序。然后从 shell 写入的任何内容都将转到 typescript
文件(默认情况下)。
另一方面,启动 终端 window may/may 的 GUI 程序不可配置为允许使用可以捕获的启动脚本自定义它们输出。
如 , it is possible to attach to a running process with strace, given its process-ID. Using the -e
option as described in 7 Strace Examples to Debug the Execution of a Program in Linux 中所述,您可以只提取 write
个调用。
请记住 strace
写入的非打印字符将转换为可打印文本,并且 strace
显示函数参数达到固定限制(您可以使用 -s
选项)。 strace
的输出可以被重定向(并且不需要 运行 在与原始进程相同的终端上)。
我在 Slackware 13.37 上有一个进程 运行,它将数据输出到它的终端 window。是否可以 read/redirect 此输出到 ssh window/PuTTY 而无需 terminating/restarting 进程?
您可以使用 shell 重定向或通过 script
之类的程序捕获输出——前提是您的程序已启动 "in the usual way"。 (如果有适当的权限,可以通过特殊设备写入其他终端)。
假设您已经了解重定向输出,例如,
foo >bar
但有一些情况,例如,一个 GUI 程序继续写入终端。
无需担心通过重定向输出来干扰程序,我会 运行 script
并在 script
启动的 shell 内启动程序。然后从 shell 写入的任何内容都将转到 typescript
文件(默认情况下)。
另一方面,启动 终端 window may/may 的 GUI 程序不可配置为允许使用可以捕获的启动脚本自定义它们输出。
如 -e
option as described in 7 Strace Examples to Debug the Execution of a Program in Linux 中所述,您可以只提取 write
个调用。
请记住 strace
写入的非打印字符将转换为可打印文本,并且 strace
显示函数参数达到固定限制(您可以使用 -s
选项)。 strace
的输出可以被重定向(并且不需要 运行 在与原始进程相同的终端上)。