Heim >Backend-Entwicklung >Golang >Golang gibt keine Ausgabe aus, wenn ich versuche, den Befehl auszuführen
Ich versuche, einige Befehle auszuführen (innerhalb von config.json) Nur der Befehl npm verfügt über eine Anzeigeausgabe
Dies ist das erste Mal, dass ich Stackoverflow verwende Bitte verzeihen Sie mir, wenn ich es nicht gut gemacht habe
Erwartete Ergebnisse: Wenn ich einen Befehl in config.json schreibe Gibt das richtige Ergebnis aus
main.go
func main () { file, _ := os.open("config.json") byteres, _ := ioutil.readall(file) var config config json.unmarshal(byteres, &config) defer file.close() process := exec.command(config.startcommand) stdout, _ := process.stdoutpipe() processscanner := bufio.newscanner(stdout) processscanner.split(bufio.scanlines) process.start() go func() { for processscanner.scan() { message := processscanner.text() fmt.println(message) } }() }
config.json
{ "StartCommand": "npm" }
Ihre Hauptfunktion wartet nicht auf den Abschluss Ihrer Goroutine. Verwenden Sie sync.WaitGroup, um main
zu blockieren, bis die Goroutine abgeschlossen ist.
Das obige ist der detaillierte Inhalt vonGolang gibt keine Ausgabe aus, wenn ich versuche, den Befehl auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!