add IsSystemd checker

This commit is contained in:
2025-02-12 19:21:48 -08:00
parent fa15432121
commit 54f4f7a235

View File

@@ -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)