class_docstr: Class for running TensorBoard.
  
  Fields:
    plugin_loaders: Set from plugins passed to constructor.
    assets_zip_provider: Set by constructor.
    server_class: Set by constructor.
    flags: An argparse.Namespace set by the configure() method.
    cache_key: As `manager.cache_key`; set by the configure() method.
class_docstr_tok: ["Class","for","running","TensorBoard",".","Fields",":","plugin_loaders",":","Set","from","plugins","passed","to","constructor",".","assets_zip_provider",":","Set","by","constructor",".","server_class",":","Set","by","constructor",".","flags",":","An","argparse.Namespace","set","by","the","configure","(",")","method",".","cache_key",":","As","`","manager.cache_key","`",";","set","by","the","configure","(",")","method","."]
docstr: Set a signal handler to gracefully exit on the given signal.
  
  When this process receives the given signal, it will run `atexit`
  handlers and then exit with `0`.
  
  Args:
    signal_number: The numeric code for the signal to handle, like
      `signal.SIGTERM`.
    signal_name: The human-readable signal name.
docstr_tok: ["Set","a","signal","handler","to","gracefully","exit","on","the","given","signal",".","When","this","process","receives","the","given","signal",",","it","will","run","`","atexit","`","handlers","and","then","exit","with","`","0","`",".","Args",":","signal_number",":","The","numeric","code","for","the","signal","to","handle",",","like","`","signal.SIGTERM","`",".","signal_name",":","The","human-readable","signal","name","."]
code: def _install_signal_handler(self, signal_number, signal_name):
      """Set a signal handler to gracefully exit on the given signal.
  
      When this process receives the given signal, it will run `atexit`
      handlers and then exit with `0`.
  
      Args:
        signal_number: The numeric code for the signal to handle, like
          `signal.SIGTERM`.
        signal_name: The human-readable signal name.
      """
      # Note to maintainers: Google-internal code overrides this
      # method (cf. cl/334534610). Double-check changes before
      # modifying API.
  
      old_signal_handler = None  # set below
  
      def handler(handled_signal_number, frame):
          # In case we catch this signal again while running atexit
          # handlers, take the hint and actually die.
          signal.signal(signal_number, signal.SIG_DFL)
          sys.stderr.write(
              "TensorBoard caught %s; exiting...\n" % signal_name
          )
          # The main thread is the only non-daemon thread, so it suffices to
          # exit hence.
          if old_signal_handler not in (signal.SIG_IGN, signal.SIG_DFL):
              old_signal_handler(handled_signal_number, frame)
          sys.exit(0)
  
      old_signal_handler = signal.signal(signal_number, handler)
  
imports: from abc import ABCMeta
  from abc import abstractmethod
  import argparse
  import atexit
  from collections import defaultdict
  import errno
  import logging
  import mimetypes
  import os
  import shlex
  import signal
  import socket
  import sys
  import threading
  import time
  import urllib.parse
  from absl import flags
  from absl.flags import argparse_flags
  from werkzeug import serving
  from tensorboard import manager
  from tensorboard import version
  from tensorboard.backend import application
  from tensorboard.backend.event_processing import data_ingester
  from tensorboard.backend.event_processing import event_file_inspector
  from tensorboard.data import server_ingester
  from tensorboard.plugins.core import core_plugin
  from tensorboard.util import tb_logging
label_desc: Use image node_id 7 for calling the TensorBoard obj's underlying member method code with example usage: obj._install_signal_handler(signal_number, signal_name) without return types