package cgroup import ( "bytes" "io/ioutil" "os/exec" "strconv" ) func readInt64(path, altCommand string) (int64, error) { data, err := ioutil.ReadFile(path) if err == nil { data = bytes.TrimSpace(data) return strconv.ParseInt(string(data), 10, 64) } return readInt64FromCommand(altCommand) } func readInt64FromCommand(command string) (int64, error) { cmd := exec.Command("/bin/sh", "-c", command) data, err := cmd.Output() if err != nil { return 0, err } data = bytes.TrimSpace(data) return strconv.ParseInt(string(data), 10, 64) }