0
我想使用GO在Windows 10上運行異步命令。我運行的命令是阻塞的,如果直接從終端運行,它會提供持續的狀態消息,直到ctrl-c從異步命令轉到標準輸出流
我想通過exec從GO運行該命令,並實時從exec命令捕獲輸出到終端,即不僅在GO應用程序終止時。
我嘗試了很多例子,但沒有成功,我只是得到一個空白的終端,即使退出GO應用程序後,我看不到從我執行的命令的輸出。
我想使用GO在Windows 10上運行異步命令。我運行的命令是阻塞的,如果直接從終端運行,它會提供持續的狀態消息,直到ctrl-c從異步命令轉到標準輸出流
我想通過exec從GO運行該命令,並實時從exec命令捕獲輸出到終端,即不僅在GO應用程序終止時。
我嘗試了很多例子,但沒有成功,我只是得到一個空白的終端,即使退出GO應用程序後,我看不到從我執行的命令的輸出。
您可以使用cmd.StdoutPipe
做到這一點:
cmd := exec.Command(cmdName, cmdArgs...)
cmdReader, _ := cmd.StdoutPipe()
scanner := bufio.NewScanner(cmdReader)
go func() {
for scanner.Scan() {
fmt.Printf(scanner.Text())
}
}()
cmd.Start()
err = cmd.Wait()
謝謝,我已經沒有運氣嘗試過這一點,那麼更多的挖掘後,我發現我正在被輸出到標準錯誤的應用程序,所以我的情況略有改變,這確實奏效。 – PrestonDocks