mirror of
https://github.com/shirou/gopsutil.git
synced 2025-04-26 13:48:59 +08:00
Attempted LXC guest detection from environ procfile
This commit is contained in:
parent
663af789c0
commit
92d6df6d8f
@ -94,6 +94,17 @@ func (i FakeInvoke) CommandWithContext(ctx context.Context, name string, arg ...
|
|||||||
|
|
||||||
var ErrNotImplementedError = errors.New("not implemented yet")
|
var ErrNotImplementedError = errors.New("not implemented yet")
|
||||||
|
|
||||||
|
// ReadFile reads contents from a file
|
||||||
|
func ReadFile(filename string) (string, error) {
|
||||||
|
content, err := ioutil.ReadFile(filename)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
return string(content), nil
|
||||||
|
}
|
||||||
|
|
||||||
// ReadLines reads contents from a file and splits them by new lines.
|
// ReadLines reads contents from a file and splits them by new lines.
|
||||||
// A convenience wrapper to ReadLinesOffsetN(filename, 0, -1).
|
// A convenience wrapper to ReadLinesOffsetN(filename, 0, -1).
|
||||||
func ReadLines(filename string) ([]string, error) {
|
func ReadLines(filename string) ([]string, error) {
|
||||||
|
@ -194,6 +194,17 @@ func VirtualizationWithContext(ctx context.Context) (string, string, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if PathExists(filepath.Join(filename, "1", "environ")) {
|
||||||
|
contents, err := ReadFile(filepath.Join(filename, "1", "environ"))
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
if strings.Contains(contents, "container=lxc") {
|
||||||
|
system = "lxc"
|
||||||
|
role = "guest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if PathExists(filepath.Join(filename, "self", "cgroup")) {
|
if PathExists(filepath.Join(filename, "self", "cgroup")) {
|
||||||
contents, err := ReadLines(filepath.Join(filename, "self", "cgroup"))
|
contents, err := ReadLines(filepath.Join(filename, "self", "cgroup"))
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user