【发布时间】:2012-12-12 17:02:13
【问题描述】:
在 D 中异步调用其他进程的首选方式是什么?我的用例是调用svn status 检查退出状态,并解析其标准输出和错误。
【问题讨论】:
标签: asynchronous process ipc d
在 D 中异步调用其他进程的首选方式是什么?我的用例是调用svn status 检查退出状态,并解析其标准输出和错误。
【问题讨论】:
标签: asynchronous process ipc d
我认为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)。
【讨论】: