5

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

4

1 回答 1

5

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

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

将它与 a 一起使用File,您将获得输出;就像是:

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

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

于 2012-12-12T18:59:09.823 回答