diff --git a/helpers.go b/helpers.go index 01cd05c..37d8da6 100644 --- a/helpers.go +++ b/helpers.go @@ -3,6 +3,7 @@ package systemctl import ( "context" "errors" + "os" "strconv" "strings" "time" @@ -112,6 +113,15 @@ func GetMaskedUnits(ctx context.Context, opts Options) ([]string, error) { return units, nil } +// check if systemd is the current init system +func IsSystemd() (bool, error) { + b, err := os.ReadFile("/proc/1/comm") + if err != nil { + return false, err + } + return strings.TrimSpace(string(b)) == "systemd", nil +} + // check if a service is masked func IsMasked(ctx context.Context, unit string, opts Options) (bool, error) { units, err := GetMaskedUnits(ctx, opts)