2 Commits

Author SHA1 Message Date
21fce7918e add linux build tags to restrict compilation to linux targets 2025-02-13 16:49:49 -08:00
54f4f7a235 add IsSystemd checker 2025-02-12 19:21:48 -08:00
5 changed files with 20 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
//go:build linux
package systemctl package systemctl
import ( import (

View File

@@ -1,8 +1,11 @@
//go:build linux
package systemctl package systemctl
import ( import (
"context" "context"
"errors" "errors"
"os"
"strconv" "strconv"
"strings" "strings"
"time" "time"
@@ -112,6 +115,15 @@ func GetMaskedUnits(ctx context.Context, opts Options) ([]string, error) {
return units, nil 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 // check if a service is masked
func IsMasked(ctx context.Context, unit string, opts Options) (bool, error) { func IsMasked(ctx context.Context, unit string, opts Options) (bool, error) {
units, err := GetMaskedUnits(ctx, opts) units, err := GetMaskedUnits(ctx, opts)

View File

@@ -1,3 +1,5 @@
//go:build linux
package systemctl package systemctl
type Options struct { type Options struct {

View File

@@ -1,3 +1,5 @@
//go:build linux
package systemctl package systemctl
import ( import (

View File

@@ -1,3 +1,5 @@
//go:build linux
package systemctl package systemctl
import ( import (