func usr12(pid int) () {
	syscall.Kill(pid, syscall.SIGUSR1)
	syscall.Kill(pid, syscall.SIGUSR2)
}
user12 kills a process with USR1 then USR2
package main
import (
    "bufio"
    "encoding/json"
    "errors"
    "fmt"
    "github.com/mitchellh/go-ps"
    "io"
    "log"
    "net/http"
    "os"
    "syscall"
)
type TincStat struct {
    TotalBytesIn int64 `json:"total_bytes_in"`
    TotalBytesOut int64 `json:"total_bytes_out"`
    Connections []TincConnection `json:"connections"`
}
type TincConnection struct {
    Name string `json:"name"`
    Ip string `json:"ip"`
    Port int64 `json:"port"`
}
func findTincPid() (int, error) {
    procs, err := ps.Processes()
    if err != nil {
        log.Fatalf("findTincPid: %s", err)
    }
    for _, proc := range procs {
        if proc.Executable() == "tincd" {
            return proc.Pid(), err
        }
    }
    return 0, errors.New("findTincPid: Pid not found, is tinc running?")
}
func readLines(path string) ([]string, error) {
  file, err := os.Open(path)
  if err != nil {
    return nil, err
  }
  defer file.Close()
  var lines []string
  scanner := bufio.NewScanner(file)
  for scanner.Scan() {
    lines = append(lines, scanner.Text())
  }
  return lines, scanner.Err()
}
func list_contains(member string, list []string) bool {
    for _,element := range list {
        if element == member {
            return true
        }
    }
    return false
}