Files
kubescape/main.go
VaibhavMalik4187 55da8c1ce2 Added signal handler for the interrupt signal
- Subscribing to an interrupt signal handler allows graceful shutdown of
  the program.
- Use exit code 130 for interrupt signals.

Fixes: https://github.com/kubescape/kubescape/issues/1476

Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
2023-11-22 20:51:19 +05:30

32 lines
601 B
Go

package main
import (
"os"
"os/signal"
"syscall"
logger "github.com/kubescape/go-logger"
"github.com/kubescape/kubescape/v3/cmd"
)
func main() {
// Capture interrupt signal
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, os.Interrupt, syscall.SIGTERM)
// Handle interrupt signal
go func() {
<-signalChan
// Perform cleanup or graceful shutdown here
logger.L().StopError("Received interrupt signal, exiting...")
// Exit the program with proper exit code for SIGINT
os.Exit(130)
}()
if err := cmd.Execute(); err != nil {
logger.L().Fatal(err.Error())
}
}