code: def needs_launch(self):
      
      new_fingerprint = self.options_fingerprint
      self._logger.debug('pantsd: is_alive={} new_fingerprint={} current_fingerprint={}'
                         .format(self.is_alive(), new_fingerprint, self.fingerprint))
      return self.needs_restart(new_fingerprint)
docs: Determines if pantsd needs to be launched.
  
      N.B. This should always be called under care of the `lifecycle_lock`.
  
      :returns: True if the daemon needs launching, False otherwise.
      :rtype: bool