docs: def kill(self):
          """
          Kill the running process (if there is one)
          :return: void
          """
          if self.running():
              if self.verbose:
                  print('Killing {} with PID {}'.format(self.exe, self.process.pid))
              self.process.kill()
  
              # Threads *should* tidy up after themselves, but we do it explicitly
              self.join_threads()