func init() { parseFlags() if options.showVersion { server.ShowVersionAndExit() } server.SetupLogging(options.logFile, options.logLevel, options.crashLogFile, "", "") }
func init() { parseFlags() if options.showVersion { server.ShowVersionAndExit() } server.SetupLogging(options.logFile, options.logLevel, options.crashLogFile, options.alarmLogSock, options.alarmTag) // thrift lib use "log", so we also need to customize its behavior _log.SetFlags(_log.Ldate | _log.Ltime | _log.Lshortfile) if options.kill { s := server.NewServer("fae") s.LoadConfig(options.configFile) s.Launch() // stop new requests engine.NewEngine(). LoadConfig(s.Conf). UnregisterEtcd() // finish all outstanding RPC sessions if err := signal.SignalProcessByPidFile(options.lockFile, syscall.SIGUSR1); err != nil { fmt.Fprintf(os.Stderr, "stop failed: %s\n", err) os.Exit(1) } cleanup() // TODO wait till that faed process terminates, who will do the cleanup fmt.Println("faed killed") os.Exit(0) } if options.lockFile != "" { if locking.InstanceLocked(options.lockFile) { fmt.Fprintf(os.Stderr, "Another instance is running, exit...\n") os.Exit(1) } locking.LockInstance(options.lockFile) } }