12345678910111213141516171819 |
- package system // import "github.com/docker/docker/pkg/system"
- import (
- "fmt"
- "os/exec"
- "syscall"
- )
- // GetExitCode returns the ExitStatus of the specified error if its type is
- // exec.ExitError, returns 0 and an error otherwise.
- func GetExitCode(err error) (int, error) {
- exitCode := 0
- if exiterr, ok := err.(*exec.ExitError); ok {
- if procExit, ok := exiterr.Sys().(syscall.WaitStatus); ok {
- return procExit.ExitStatus(), nil
- }
- }
- return exitCode, fmt.Errorf("failed to get exit code")
- }
|