code: def restart_program(self):
          
          restart_cmd = self.commands.find_by_name('restart-alignak')
          if not restart_cmd:
              logger.error("Cannot restart Alignak : missing command named"
                           " 'restart-alignak'. Please add one")
              return
          restart_cmd_line = restart_cmd.command_line
          logger.warning("RESTART command : %s", restart_cmd_line)
  
          # Ok get an event handler command that will run in 15min max
          e_handler = EventHandler({'command': restart_cmd_line, 'timeout': 900})
          # Ok now run it
          e_handler.execute()
          # And wait for the command to finish
          while e_handler.status not in [ACT_STATUS_DONE, ACT_STATUS_TIMEOUT]:
              e_handler.check_finished(64000)
  
          log_level = 'info'
          if e_handler.status == ACT_STATUS_TIMEOUT or e_handler.exit_status != 0:
              logger.error("Cannot restart Alignak : the 'restart-alignak' command failed with"
                           " the error code '%d' and the text '%s'.",
                           e_handler.exit_status, e_handler.output)
              log_level = 'error'
          # Ok here the command succeed, we can now wait our death
          self.send_an_element(make_monitoring_log(log_level, "RESTART: %s" % (e_handler.output)))
docs: Restart Alignak
          Format of the line that triggers function call::
  
          RESTART_PROGRAM
  
          :return: None