gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:18 31 4
gpt4 key购买 nike

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

最佳答案

您可以使用 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 显示的函数参数达到固定限制(您可以使用 -s 选项进行调整)。 strace 的输出可以重定向(并且不需要与原始进程在同一终端上运行)。

关于linux - 通过 SSH、linux 读取进程的控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250948/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com