什么是在D语言中异步调用其他进程的首选方式?我的使用情况是调用“svn status”以检查退出状态,并解析其标准输出和错误。
我认为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)。