Sean
Sean

Reputation: 879

FIFO /Named Pipes in D?

I am trying to do the following :

A central application, let us call it alpha, accepts user inputs in command lines, and based on those inputs, spawns other processes, call them bravo, charlie, etc. I want the parent and child to communicate both way. That is, alpha can read from and write to bravo (resp. charlie) and vice-versa

In C++, i can use fork() then exec(), and use FIFO-s - some excellent tutorials, are here : Pipe, Fork, and Exec - Two Way Communication Between Parent and Child Process and http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel5b.shtml

But, I am wondering if the same, is also possible in D? I dont find much from web searching.

Upvotes: 3

Views: 355

Answers (2)

DejanLekic
DejanLekic

Reputation: 19797

As it happens, I remember your previous post here and drew a conclusion two questions are related. For what you asked in the previous question (Switch cas Alternative in D) you really do not need some complex interprocess communication - you basically need to call std.process.execute() and get the output. Think of it as a function similar to popen().

Check that thread, and see how I implemented a very basic "fact" command using execute()... You should be able to build a much more robust solution on top of that code if you implement all necessary checks.

Upvotes: 1

Ben Voigt
Ben Voigt

Reputation: 283733

It looks like D's standard library supports creating pipes and child processes.

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

Upvotes: 4

Related Questions