nohup ./server 1> server.out 2> server.err
进程启动时候记录下自己的pid:
if pid := syscall.Getpid(); pid != 1 {
IoUtil.WriteFile("server.pid", []byte(strconv.Itoa(pid)), 0777)
defer os.Remove("server.pid")
}
同时监听系统发来的kill信号,在收到kill信号时做些收尾工作:
signal.Notify(sigTERM,syscall.SIGTERM)