diff --git a/utils/utils.go b/utils/utils.go index 5fb3695ceb..f9f96f2835 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -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 }