package main
import (
"bufio"
"fmt"
"os"
"os/exec"
"strconv"
"strings"
)
func main() {
const (
PROCFILE = "/proc/loadavg"
THRESHOLD = float64(2)
)
file, err := os.Open(PROCFILE)
if err != nil {
fmt.Printf("error opening %s: %s", PROCFILE, err)
os.Exit(1)
}
defer file.Close()
var one float64
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if scanner.Err() != nil {
fmt.Printf("erro reading file %s", err)
os.Exit(1)
}
str := strings.Fields(line)[0]
one, err = strconv.ParseFloat(str, 64)
if err != nil {
fmt.Printf("%s", err)
}
break
}
if one > THRESHOLD {
cmd := exec.Command("systemd-cat", "ps", "auxfww")
err := cmd.Start()
if err != nil {
fmt.Printf("%s", err)
}
cmd.Wait()
}