diff --git a/cmd/kafka_gen_log/main.go b/cmd/kafka_gen_log/main.go index 1aa06dd1..34c8677b 100644 --- a/cmd/kafka_gen_log/main.go +++ b/cmd/kafka_gen_log/main.go @@ -143,7 +143,7 @@ func (g *LogGenerator) Stat() (l, s int64) { return } -//reset logfiles +// reset logfiles func (g *LogGenerator) Init() error { g.logfiles = nil g.off = -1 @@ -186,7 +186,7 @@ func (g *LogGenerator) Init() error { return nil } -//switch to next log file +// switch to next log file func (g *LogGenerator) next() (err error) { g.scanner = nil if g.reader != nil { @@ -329,7 +329,7 @@ log_file_pattern: file name pattern, for example, '^secure.*$'`, os.Args[0], os. util.Logger.Fatal("got error", zap.Error(err)) } - ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) g := &LogGenerator{} if err := g.Init(); err != nil { util.Logger.Fatal("got error", zap.Error(err)) diff --git a/cmd/kafka_gen_metric/main.go b/cmd/kafka_gen_metric/main.go index 69940790..6b70351b 100644 --- a/cmd/kafka_gen_metric/main.go +++ b/cmd/kafka_gen_metric/main.go @@ -210,7 +210,7 @@ topic: for example, sensor_dt_result_online`, os.Args[0], os.Args[0]) } var prevLines, prevSize int64 - ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) go generate() ticker := time.NewTicker(10 * time.Second) diff --git a/cmd/kafka_gen_prom/main.go b/cmd/kafka_gen_prom/main.go index aa7fa48b..c2b3acb2 100644 --- a/cmd/kafka_gen_prom/main.go +++ b/cmd/kafka_gen_prom/main.go @@ -279,7 +279,7 @@ topic: for example, prom_extend`, os.Args[0], os.Args[0]) } var prevLines, prevSize int64 - ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) + ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) go generate() ticker := time.NewTicker(10 * time.Second) diff --git a/util/app.go b/util/app.go index f4501c1a..9528d454 100644 --- a/util/app.go +++ b/util/app.go @@ -16,6 +16,8 @@ limitations under the License. package util import ( + "fmt" + "go.uber.org/zap" ) @@ -31,8 +33,9 @@ func Run(appName string, initFunc, jobFunc, cleanupFunc func() error) { } }() - WaitForExitSign() - Logger.Info(appName + " got the exit signal, start to clean") + s := WaitForExitSign() + Logger.Info(fmt.Sprintf("%s got the exit signal %s, start to clean", appName, s)) + if err := cleanupFunc(); err != nil { Logger.Fatal(appName+" clean failed", zap.Error(err)) } diff --git a/util/signal.go b/util/signal.go index 58c433cb..7f146c93 100644 --- a/util/signal.go +++ b/util/signal.go @@ -21,8 +21,8 @@ import ( "syscall" ) -func WaitForExitSign() { +func WaitForExitSign() os.Signal { c := make(chan os.Signal, 1) - signal.Notify(c, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP) - <-c + signal.Notify(c, os.Interrupt, syscall.SIGTERM) + return <-c }