将现有进程的控制台输出捕获到文件

将现有进程的控制台输出捕获到文件

我们需要对运行 Busybox 的现有系统进行故障排除,我们具有 Telnet 访问权限。记录系统的控制台输出(最好是最后一次)会很有帮助n行)到文件进行调试。

有很多关于将命令的 stdout/stderr 重定向到文件的示例在调用时,但我找不到任何关于捕获输出的结论正在运行的一个或多个进程

看起来我们也许应该能够捕获/重定向,/proc/<PID>/fd/1但搜索表明这是不可能的,而且我还没有找到让它发挥作用的咒语。

作为一个小型嵌入式系统,我们无法安装更多软件包,因此,如果无法通过基本的命令行功夫来完成,我们将不得不重新开始。

有什么建议么?

答案1

你可以。首先 SIGSTOP 您感兴趣的进程,然后将 /proc/[pid]/fd/x 更改为您需要的任何内容(您可以将其符号链接到 tty 或文件),然后 SIGCONT 该进程。现在它会将其 stdout 和 stderr 写入您指定的任何 tty 或文件。

相关内容