code: def check_cpu_interval(self, cpu_process):
          
          try:
  #            log.critical("check_cpu_interval()")
              if not cpu_process.is_alive():
                  log.critical("raise SystemExit, because CPU is not alive.")
                  _thread.interrupt_main()
                  raise SystemExit("Kill pager.getch()")
          except KeyboardInterrupt:
              _thread.interrupt_main()
          else:
              t = threading.Timer(1.0, self.check_cpu_interval, args=[cpu_process])
              t.start()
docs: work-a-round for blocking input