mirror of
https://github.com/containers/podman.git
synced 2025-12-07 14:20:44 +08:00
25 lines
568 B
Go
25 lines
568 B
Go
package proc
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
// ParseAttrCurrent returns the contents of /proc/$pid/attr/current of "?" if
|
|
// labeling is not supported on the host.
|
|
func ParseAttrCurrent(pid string) (string, error) {
|
|
data, err := ioutil.ReadFile(fmt.Sprintf("/proc/%s/attr/current", pid))
|
|
if err != nil {
|
|
_, err = os.Stat(fmt.Sprintf("/proc/%s", pid))
|
|
if os.IsNotExist(err) {
|
|
// PID doesn't exist
|
|
return "", err
|
|
}
|
|
// PID exists but labeling seems to be unsupported
|
|
return "?", nil
|
|
}
|
|
return strings.Trim(string(data), "\n"), nil
|
|
}
|