public void register() throws ReflectiveOperationException {
        Map<String, Object> jvmSignalHandlers = new ConcurrentHashMap<>();

        for (String signal : SIGNALS) {
            register(signal, jvmSignalHandlers);
        }
        log.info("Registered signal handlers for " + String.join(", ", SIGNALS));
    }
Register signal handler to log termination due to SIGTERM, SIGHUP and SIGINT (control-c). This method
does not currently work on Windows.

@implNote sun.misc.Signal and sun.misc.SignalHandler are described as "not encapsulated" in
http://openjdk.java.net/jeps/260. However, they are not available in the compile classpath if the `--release`
flag is used. As a workaround, we rely on reflection.
clients/src/main/java/org/apache/kafka/common/utils/LoggingSignalHandler.java