2012-12-12 19 views
5

Dで他のプロセスを非同期的に呼び出す方法は何ですか?私のユースケースでは、svn statusを呼び出して終了ステータスをチェックし、標準出力とエラーを解析しています。非同期プロセスコール

答えて

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; 

それとも、明らかにあなたのためにこれを行います(とエラーにErrnoExceptionスロー)std.process.shellを使用することができます。