mirror of
https://github.com/containers/podman.git
synced 2025-05-20 16:47:39 +08:00
fix incorrect systemd booted check
Check for the directory /run/systemd/system, this is described in sd_booted(3). Reading /proc/1/comm will fail when /proc is mounted with the `hidepid=2` option. [NO NEW TESTS NEEDED] Fixes #16022 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
@ -113,9 +113,9 @@ var (
|
|||||||
// RunsOnSystemd returns whether the system is using systemd
|
// RunsOnSystemd returns whether the system is using systemd
|
||||||
func RunsOnSystemd() bool {
|
func RunsOnSystemd() bool {
|
||||||
runsOnSystemdOnce.Do(func() {
|
runsOnSystemdOnce.Do(func() {
|
||||||
initCommand, err := os.ReadFile("/proc/1/comm")
|
// per sd_booted(3), check for this dir
|
||||||
// On errors, default to systemd
|
fd, err := os.Stat("/run/systemd/system")
|
||||||
runsOnSystemd = err != nil || strings.TrimRight(string(initCommand), "\n") == "systemd"
|
runsOnSystemd = err == nil && fd.IsDir()
|
||||||
})
|
})
|
||||||
return runsOnSystemd
|
return runsOnSystemd
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user