异步进程调用

5
什么是在D语言中异步调用其他进程的首选方式?我的使用情况是调用“svn status”以检查退出状态,并解析其标准输出和错误。
1个回答

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)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接