Golang의 exec.Command에서 "Exit Status 1" 오류를 해결하는 방법
Golang에서 exec.Command를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 디버깅 노력을 방해하는 불특정 "종료 상태 1" 오류입니다. 더 자세한 정보를 얻으려면:
명령의 Stderr 출력에 액세스
Command 개체에는 실행된 명령에서 오류 메시지를 캡처하는 Stderr 속성이 포함되어 있습니다. stderr 출력을 변수로 리디렉션하도록 코드를 수정하세요.
var stderr bytes.Buffer cmd.Stderr = &stderr err := cmd.Run() if err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) return }
이 향상된 코드를 실행하면 다음과 같은 보다 포괄적인 오류 메시지가 제공됩니다.
exit status 1: find: -exec: no terminating ";" or "+"
이렇게 하면 오류가 발생한다는 것이 분명해집니다. 잘못된 명령에서 발생합니다.
비표준 오류 처리 동작
일부 명령은 stderr에 오류를 인쇄하고 0이 아닌 종료 코드를 반환하는 예상 동작과 다를 수 있습니다. ffmpeg와 같은 특정 명령은 stderr에 오류를 인쇄하지만 종료 코드 0을 반환할 수 있습니다. 또한 일부 명령은 stderr 대신 stdout에 오류를 인쇄할 수 있습니다.
이러한 변형을 수용하려면 코드를 조정해야 할 수도 있습니다. 사용 중인 특정 명령과 예상되는 오류 처리 패턴을 고려하세요.
위 내용은 내 Go 코드에서 계속 '종료 상태 1'이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!