code: def run(self, start_command_srv):
          
  
          if start_command_srv:
              # note, this must be established *before* the task runner is forked
              # so the task runner can communicate with the command server.
  
              # fork the command server
              self._command_server.start()
  
              # drop root privileges; command server will remain as the only
              # daemon process with root privileges. while root plugins have root
              # shell access, they are known and the commands are logged by the
              # command server.
              self._drop_privs()
  
          # fork the task runner
          self._task_runner.start()
  
          # setup signal handlers
          self._reg_sighandlers()
  
          while self.running:
              time.sleep(self._sleep_period)
  
          self.shutdown()
docs: Setup daemon process, start child forks, and sleep until
              events are signalled.
  
              `start_command_srv`
                  Set to ``True`` if command server should be started.