2012-12-12 3 views
5

Quelle est la méthode préférée pour appeler d'autres processus de manière asynchrone dans D? Mon cas d'utilisation appelle svn status en vérifiant l'état de la sortie et en analysant sa sortie et son erreur standard.Appels de processus asynchrones

Répondre

5

Je pense que std.stdio.popen est ce que vous voulez:

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

utiliser avec un File et vous obtenez la sortie; quelque chose comme:

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

Ou vous pouvez utiliser std.process.shell qui ne semble pour vous (et jette un ErrnoException en cas d'erreur).