mirror of
https://github.com/containers/podman.git
synced 2025-05-17 15:18:43 +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
|
||||
func RunsOnSystemd() bool {
|
||||
runsOnSystemdOnce.Do(func() {
|
||||
initCommand, err := os.ReadFile("/proc/1/comm")
|
||||
// On errors, default to systemd
|
||||
runsOnSystemd = err != nil || strings.TrimRight(string(initCommand), "\n") == "systemd"
|
||||
// per sd_booted(3), check for this dir
|
||||
fd, err := os.Stat("/run/systemd/system")
|
||||
runsOnSystemd = err == nil && fd.IsDir()
|
||||
})
|
||||
return runsOnSystemd
|
||||
}
|
||||
|
Reference in New Issue
Block a user