1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
2018-11-12 01:30:24 -08:00

55 lines
696 B
Go

package linux
import (
"io/ioutil"
"os"
"path/filepath"
"strconv"
"strings"
)
func ReadMaxPID(path string) (uint64, error) {
b, err := ioutil.ReadFile(path)
if err != nil {
return 0, err
}
s := strings.TrimSpace(string(b))
i, err := strconv.ParseUint(s, 10, 64)
if err != nil {
return 0, err
}
return i, nil
}
func ListPID(path string, max uint64) ([]uint64, error) {
l := make([]uint64, 0, 5)
for i := uint64(1); i <= max; i++ {
p := filepath.Join(path, strconv.FormatUint(i, 10))
s, err := os.Stat(p)
if err != nil && !os.IsNotExist(err) {
return nil, err
}
if err != nil || !s.IsDir() {
continue
}
l = append(l, i)
}
return l, nil
}