异步处理调用

时间:2012-12-12 17:02:14

标签: asynchronous process ipc d

在D中异步调用其他进程的首选方法是什么?我的用例是调用svn status检查退出状态,并解析其标准输出和错误。

1 个答案:

答案 0 :(得分:5)

我认为std.stdio.popen就是你想要的:

void popen(string command, in char[] stdioOpenmode = "r");

将其与File一起使用,即可获得输出;类似的东西:

File f;
f.popen("svn status", "r");
char[] line;
string result;
while (f.readln(line))
    result ~= line;
return result;

或者您可以使用显然为您执行此操作的std.process.shell(并在出错时抛出ErrnoException)。