在此場景中,您的目標是將已執行命令的輸出串流傳輸到父進程和日誌檔案。但是,標準 cmd.StdoutPipe 以字串形式傳回最終結果,這成為長時間運行的進程的限制。
提供的程式碼,它利用 exec.Command, StdoutPipe 和 bufio.NewScanner 按預期工作。它有效地串流傳輸子進程的輸出,將其列印到控制台並即時記錄。子進程的即時輸出在發生時被捕獲並顯示。
如果程式碼不適合您,請考慮以下原因:
如果指令不列印換行符,還有其他方法來串流輸出:
重要的是要記住,如果子程序寫入其預設的stdout 和stderr 流,除非明確讀取,否則它們將被丟棄。讀取這些流可確保您不會錯過任何輸出或錯誤訊息,即使子進程通常不會輸出到這些流。
以上是如何將即時命令輸出串流傳輸到父進程和日誌檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!