2016-05-09 6 views
4

Ich versuche ein externes Programm von Julia über run auszuführen, dann warte bis es fertig ist und speichere seine Ausgabe in eine Variable.Wie führe ich ein externes Programm von Julia aus und warte bis es fertig ist, dann lese seine Ausgabe

Die einzige Lösung kam ich mit, ist dies:

callback = function(data) 
    print(data) 
end 

open(`minizinc com.mzn com.dzn`) do f 
    x = readall(f) 
    callback(x) 
end 

Das Problem ist, dass ich Rückrufe verwenden nicht wollen.

Gibt es eine Möglichkeit, zu warten, bis der Prozess beendet ist und dann weiter ausführen?

Vielen Dank im Voraus

Antwort

7

können Sie rufen readall (oder readstring auf Julia Master) auf dem Befehlsobjekt:

julia> readall(`echo Hello`) 
"Hello\n" 
Verwandte Themen