fork - 是否有 fork 并与 D 中的子进程通信的示例?

标签 fork pipe d popen

你如何 fork 并与 D 中的子进程通信?

我想我正在寻找http://erdani.com/d/new-stdio/phobos-prerelease/std_process.html#pipeProcess但 pipeProcess 似乎不在 D2 中。

我想执行一个子进程,并且能够从它的 stdout 和 stderr 读取,写入它的 stdin 并接收它退出的通知和它的退出代码。

在 D 中这样做的最佳方法是什么?

谢谢,

克里斯。

最佳答案

最终,这个功能将在 Phobos 中出现,但现在,这是我扔在一起的一个类:Pastebin link

你像这样使用它:

auto stream = new ProcessStream("ls -a");
// read, write, etc. from stream

关于fork - 是否有 fork 并与 D 中的子进程通信的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854110/

相关文章:

sdl - 对 opEquals : Linker errors with Derelict3 Bindings to SDL2 的 undefined reference

assembly - 使用 x86 CMPXCHG 比较和交换的 D 函数

C 并发程序输出取决于输出到标准输出还是文件

python - 什么是 pycryptodomex,它与 pycryptodome 有何不同?

c - 进程组中的进程是否应该在 Unix/Linux 中与其父进程一起终止?

c - Linux在父进程和子进程之间使用管道在c中传递值?

bash - 将 ffmpeg (stderr) 输出重定向到 WHILE READ & 检索进程 ID

d - 纯函数返回纯是什么意思?

c - 为什么子进程在使用父输出的标准输入的 fork 和管道时等待?

javascript - Node.js 中的管道问题