Python子进程:使用Pipe和通信的困难

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python子进程:使用Pipe和通信的困难相关的知识,希望对你有一定的参考价值。

C Code of binary format3

Python Code

我基本上试图运行'(./ format3 | attackString)| grep searchString'在我的python脚本中,但我无法访问format3进程的管道(代码中的宝贝),因为它在通信调用后关闭了。

我需要通信呼叫才能将我的attackString提供给二进制文件。我知道我可以将婴儿的stdout写入文件,然后将该文件用作grep的stdin,但我觉得必须有另一种方法来解决这个问题。

答案

考虑使用sh库,因为它解决了功能组合的管道问题:https://amoffat.github.io/sh/#piping

它是一个非常整洁的库,似乎只能解决你的问题。

以上是关于Python子进程:使用Pipe和通信的困难的主要内容,如果未能解决你的问题,请参考以下文章

fork()、pipe() 和 exec() 进程创建和通信

使用 stdout/stderr 以外的管道与子进程通信

同一父进程下的子进程之间的通信(pipe通信)

通过不使用通信的子进程捕获输出

进程间通信之管道--pipe和fifo使用

进程间通信