github.com/gofiber/fiber/v2@v2.47.0/internal/gopsutil/load/load_solaris.go (about) 1 //go:build solaris 2 // +build solaris 3 4 package load 5 6 import ( 7 "context" 8 "os/exec" 9 "strings" 10 11 "github.com/gofiber/fiber/v2/internal/gopsutil/common" 12 ) 13 14 func Avg() (*AvgStat, error) { 15 return AvgWithContext(context.Background()) 16 } 17 18 func AvgWithContext(ctx context.Context) (*AvgStat, error) { 19 return nil, common.ErrNotImplementedError 20 } 21 22 func Misc() (*MiscStat, error) { 23 return MiscWithContext(context.Background()) 24 } 25 26 func MiscWithContext(ctx context.Context) (*MiscStat, error) { 27 bin, err := exec.LookPath("ps") 28 if err != nil { 29 return nil, err 30 } 31 out, err := invoke.CommandWithContext(ctx, bin, "-efo", "s") 32 if err != nil { 33 return nil, err 34 } 35 lines := strings.Split(string(out), "\n") 36 37 ret := MiscStat{} 38 for _, l := range lines { 39 if l == "O" { 40 ret.ProcsRunning++ 41 } 42 } 43 44 return &ret, nil 45 }