스트리밍 명령 출력 진행
명령을 실행하는 과정에서 지정된 출력 위치와 출력 모두로 출력을 스트리밍해야 하는 경우가 종종 발생합니다. 실시간 로그 파일. 그러나 시간이 오래 걸리는 프로세스를 처리할 때 cmd.StdoutPipe 메서드는 최종 결과만 문자열로 제공합니다. 이 기사에서는 명령 실행 프로세스 중에 부분 출력 스트리밍을 활성화하는 방법에 대해 설명합니다.
질문에 제공된 예는 bufio.NewScanner를 활용하여 파이프를 통해 표준 출력을 읽습니다. 일반적인 오해는 한 줄씩 읽는다는 것입니다. 실제로는 bufio.ScanLines 함수에 정의된 대로 개행 문자로 입력을 읽습니다. 실행된 명령이 줄 바꿈을 생성하지 않으면 출력이 즉시 반환되지 않습니다.
해결 방법:
이 제한을 극복하려면 대체 접근 방식을 고려하십시오.
표준 출력과 오류를 모두 읽어 하위 프로세스에서 잠재적인 차단을 방지하는 것이 중요합니다. 전체 버퍼로. 기본적으로 하위 프로세스의 표준 출력 및 오류 스트림은 삭제됩니다. 그러나 표준 오류 스트림을 읽지 않으면 오류 메시지 누락이 발생할 수 있습니다.
위 내용은 실행 중에 부분 명령 출력을 실시간으로 스트리밍하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!