Voglio implementare un "wrapper di processo" in Go. Fondamentalmente quello che farà, è avviare un processo (diciamo un server nodo) e monitorarlo (prendere segnali come SIGKILL, SIGTERM ...)Segnali di cattura Golang
Penso che il modo per fare sia lanciare il server nodo in un go di routine utilizzando syscall.Exec
:
func launchCmd(path string, args []string) {
err := syscall.Exec(path, args, os.Environ())
if err != nil {
panic(err)
}
}
Poi mi piacerebbe cogliere ogni possibile segnali generati dal comando eseguito da syscall
. Sono abbastanza nuovo per andare, ogni aiuto sarebbe apprezzato.
[vedi anche] (http://stackoverflow.com/q/11268943/720999). – kostix