D /中的FIFO /命名管道?

时间:2013-11-07 20:18:24

标签: c++ d

我正在尝试执行以下操作:

一个中央应用程序,让我们称之为alpha,在命令行中接受用户输入,并根据这些输入生成其他进程,将它们称为bravo,charlie等。我希望父进程和子进程双向通信。也就是说,alpha可以读写并写入bravo(resp.charlie),反之亦然

在C ++中,我可以使用fork()然后使用exec(),并使用FIFO-s - 一些优秀的教程,在这里: Pipe, Fork, and Exec - Two Way Communication Between Parent and Child Processhttp://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel5b.shtml

但是,我想知道D是否也可能相同?我在网上搜索时找不到多少。

2 个答案:

答案 0 :(得分:4)

看起来D的标准库支持创建管道和子进程。

http://dlang.org/phobos/std_process.html

答案 1 :(得分:1)

碰巧,我记得你以前的帖子,并得出结论两个问题是相关的。对于您在上一个问题(Switch cas Alternative in D)中提到的内容,您实际上不需要进行一些复杂的进程间通信 - 您基本上需要调用std.process.execute()并获取输出。可以将其视为与popen()类似的函数。

检查该线程,看看我是如何使用execute()实现一个非常基本的“fact”命令的......如果你实现了所有必要的检查,你应该能够在该代码之上构建一个更强大的解决方案。 / p>