捕获正在运行的进程的标准输出



我目前正在为我的项目测试一些程序,我目前有这个程序作为守护程序运行,我只想捕获该程序的标准输出 也许是斯特德尔...

我知道strace最好作为调试工具,但我想它不能简化到我想要的..

我在堆栈溢出上看到了答案,就像subprocess.popen(['ps'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)...但这开始了这个过程.我只想挂接到一个正在运行的进程并抓取输出......

任何答案或想法将不胜感激.. 如果在 python、bash 或 c 中

为了能够与已经运行的进程进行通信,您必须在启动这些进程之前设置观察者/侦听器。

您可以看到此用途最常见的工具,即 Tmux 和 Screen。

然后我认为您将能够对这些进程的输出做任何您想做的事情,具体取决于您将使用的工具提供的 API。

这是我看到这个问题时的第一个想法。

您可以在bash 中使用重定向,就像<<>>一样将程序的输出发送到日志文件中。假设你跑了

回声时间

你可以做

回声时间<<日志.txt

还有错误输出和什么。如果您不想查看手册页,请尝试此操作。

https://www.gnu.org/software/bash/manual/html_node/Redirections.html

相关内容

  • 没有找到相关文章

最新更新