From 6ba2e8a4712fd75a78a864ffdcc43cb48ee74735 Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Fri, 15 Dec 2023 04:07:37 +0400 Subject: [PATCH] Well, actually, let's move the platform-independent parts out to a process.go file. --- process.go | 22 ++++++++++++++++++++++ process_unix.go | 21 --------------------- 2 files changed, 22 insertions(+), 21 deletions(-) create mode 100644 process.go diff --git a/process.go b/process.go new file mode 100644 index 0000000..c470c56 --- /dev/null +++ b/process.go @@ -0,0 +1,22 @@ +package main + +// Process contains an alias that will be returned when queries, and a process +// name to look for. +type Process struct { + Alias string `json:"alias"` + Process string `json:"process"` +} + +// ProcessesState is a map of processes' aliases and its statuses. +type ProcessesState map[string]bool + +func GetProcessesState(procs *[]Process) (ps ProcessesState) { + ps = make(ProcessesState) + + for _, proc := range *procs { + pids, err := GetProcessPIDs(proc.Process) + ps[proc.Alias] = err == nil && len(pids) > 0 + } + + return +} diff --git a/process_unix.go b/process_unix.go index e7a30c3..e140022 100644 --- a/process_unix.go +++ b/process_unix.go @@ -9,27 +9,6 @@ import ( "strings" ) -// Process contains an alias that will be returned when queries, and a process -// name to look for. -type Process struct { - Alias string `json:"alias"` - Process string `json:"process"` -} - -// ProcessesState is a map of processes' aliases and its statuses. -type ProcessesState map[string]bool - -func GetProcessesState(procs *[]Process) (ps ProcessesState) { - ps = make(ProcessesState) - - for _, proc := range *procs { - pids, err := GetProcessPIDs(proc.Process) - ps[proc.Alias] = err == nil && len(pids) > 0 - } - - return -} - // GetProcessPIDs returns a list of PIDs found for a process. func GetProcessPIDs(name string) (pids []int, err error) { dir, err := os.ReadDir("/proc/")