godaemon
is a simple Go(golang) daemon package.
$ go get -u github.com/Iwark/godaemon
package main
import (
"flag"
"log"
"github.com/Iwark/godaemon"
)
var (
child = flag.Bool("child", false, "Run as a child process")
logfile = flag.String("l", "logfile.log", "log file")
)
func main() {
flag.Parse()
if err := godaemon.Start(*child); err != nil {
log.Fatal(err)
return
}
f, err := godaemon.OutputFile(*logfile)
if err != nil {
log.Fatal(err)
return
}
defer f.Close()
log.SetOutput(f)
// anything to do ...
}