이 시나리오에서는 실행된 명령의 출력을 상위 프로세스와 로그 모두에 스트리밍하는 것이 목표입니다. 파일. 그러나 표준 cmd.StdoutPipe는 최종 결과를 문자열로 반환하는데, 이는 장기 실행 프로세스에 대한 제한 사항이 됩니다.
exec.Command를 활용하는 제공된 코드는, StdoutPipe 및 bufio.NewScanner는 의도한 대로 작동합니다. 하위 프로세스의 출력을 효과적으로 스트리밍하여 콘솔에 인쇄하고 실시간으로 기록합니다. 하위 프로세스의 실시간 출력은 발생하는 대로 캡처되어 표시됩니다.
코드가 작동하지 않으면 다음 이유를 고려하십시오.
명령이 줄 바꿈을 인쇄하지 않는 경우 출력을 스트리밍하는 다른 방법이 있습니다.
하위 프로세스가 기본 stdout 및 stderr 스트림에 쓰는 경우 명시적으로 읽지 않는 한 삭제된다는 점을 기억하는 것이 중요합니다. 이러한 스트림을 읽으면 하위 프로세스가 일반적으로 이러한 스트림으로 출력하지 않는 경우에도 출력이나 오류 메시지를 놓치지 않게 됩니다.
위 내용은 실시간 명령 출력을 상위 프로세스 및 로그 파일로 스트리밍하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!