首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过管道注入通信日志

如何通过管道注入通信日志
EN

Stack Overflow用户
提问于 2020-01-28 03:33:31
回答 1查看 22关注 0票数 0

我有一个程序,exec是另一个程序,然后通过stdin/stdout与那个进程通信。我想注入一个小的日志记录器,它捕获通信(我认为)是逐行同步的文本,传播双向通信,但也将其记录到一个文件中。

有什么简单的方法可以做到这一点吗?我尝试过使用strace,但它会产生很多噪音,而且我更想捕获整个序列,所以我想在exec发生时启动它。

我想创建一个小程序,就在调用者和被调用者之间,在它完成exec后,真正的被调用者从stdin读取,日志,放到被调用者stdin上,然后等待一些东西返回到被调用者stdout上,记录下来,然后写回调用者。

听起来很简单,但我对设置管道连接和调试这样一个程序的困难感到有点害怕。因此,我认为在投入精力之前,我应该在这里请求一个更简单的解决方案。

我用谷歌搜索了一下,但很难表达出一个好的查询。大多数结果是像this这样的东西,它仍然是代码,并且只捕获单向通信。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 06:39:42

好吧,所以我咬紧牙关写了这个程序...

我们需要三个子进程,两个分别用于监视、传播和记录stdin和stdout,一个用于执行实际目标。

棘手的部分是如何连接管道。我从Ramesh Yerraballi的一段视频中学到了一些基础知识,这使我能够组装这些部件。

Here's the repo for ,用于在通过管道通信的两个进程之间注入管道间谍。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59937720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档