On Thu, 01 Dec 2011 06:10:00 -0500, Regan Heath <[email protected]> wrote:

On Wed, 30 Nov 2011 23:35:58 -0000, NMS <[email protected]> wrote:

Is there a cross-platform way to create a new process and get its i/o streams? Like java.lang.Process?

No. It different on windows and unix platforms, tho most/many of the unix platforms are similar.

std.process is rather limited in it's current incarnation but I think Steve is working on a bit update..

It's ready for review, but I'm waiting on myself to get a pull request in for dmc...

Going to kick myself to do it now.

- Pro tip; you now want to call DuplicateHandle on the parent handle for each pipe to remove 'inheritance' - this stops the child process inheriting the handle (which would result in 2 open handles to the pipe, and closure of the parent handle would not be detected by the child). After duplication you close the original parent side inheritable handles.

There's also SetHandleInformation (which I forgot to do in my implementation, thanks for bringing this up)

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724935(v=vs.85).aspx

-Steve

Reply via email to