code: def _reloader_child(server, app, interval):
      ''' Start the server and check for modified files in a background thread.
          As soon as an update is detected, KeyboardInterrupt is thrown in
          the main thread to exit the server loop. The process exists with status
          code 3 to request a reload by the observer process. If the lockfile
          is not modified in 2*interval second or missing, we assume that the
          observer process died and exit with status code 1 or 2.
      '''
      lockfile = os.environ.get('BOTTLE_LOCKFILE')
      bgcheck = FileCheckerThread(lockfile, interval)
      try:
          bgcheck.start()
          server.run(app)
      except KeyboardInterrupt:
          pass
      bgcheck.status, status = 5, bgcheck.status
      bgcheck.join() # bgcheck.status == 5 --> silent exit
      if status: sys.exit(statusf _reloader_child(server, app, interval):
      ''' Start the server and check for modified files in a background thread.
          As soon as an update is detected, KeyboardInterrupt is thrown in
          the main thread to exit the server loop. The process exists with status
          code 3 to request a reload by the observer process. If the lockfile
          is not modified in 2*interval second or missing, we assume that the
          observer process died and exit with status code 1 or 2.
      '''
      lockfile = os.environ.get('BOTTLE_LOCKFILE')
      bgcheck = FileCheckerThread(lockfile, interval)
      try:
          bgcheck.start()
          server.run(app)
      except KeyboardInterrupt:
          pass
      bgcheck.status, status = 5, bgcheck.status
      bgcheck.join() # bgcheck.status == 5 --> silent exit
      if status: sys.exit(status)
docs: Start the server and check for modified files in a background thread.
          As soon as an update is detected, KeyboardInterrupt is thrown in
          the main thread to exit the server loop. The process exists with status
          code 3 to request a reload by the observer process. If the lockfile
          is not modified in 2*interval second or missing, we assume that the
          observer process died and exit with status code 1 or 2.