docs: private static void handleSignals() {
          if (DaemonStarter.isRunMode()) {
              try {
                  // handle SIGHUP to prevent process to get killed when exiting the tty
                  Signal.handle(new Signal("HUP"), arg0 -> {
                      // Nothing to do here
                      System.out.println("SIG INT");
                  });
              } catch (IllegalArgumentException e) {
                  System.err.println("Signal HUP not supported");
              }
  
              try {
                  // handle SIGTERM to notify the program to stop
                  Signal.handle(new Signal("TERM"), arg0 -> {
                      System.out.println("SIG TERM");
                      DaemonStarter.stopService();
                  });
              } catch (IllegalArgumentException e) {
                  System.err.println("Signal TERM not supported");
              }
  
              try {
                  // handle SIGINT to notify the program to stop
                  Signal.handle(new Signal("INT"), arg0 -> {
                      System.out.println("SIG INT");
                      DaemonStarter.stopService();
                  });
              } catch (IllegalArgumentException e) {
                  System.err.println("Signal INT not supported");
              }
  
              try {
                  // handle SIGUSR2 to notify the life-cycle listener
                  Signal.handle(new Signal("USR2"), arg0 -> {
                      System.out.println("SIG USR2");
                      DaemonStarter.getLifecycleListener().signalUSR2();
                  });
              } catch (IllegalArgumentException e) {
                  System.err.println("Signal USR2 not supported");
              }
          }
      }