parameters: (self, path, args, mode=None, maximize=False, env=None,
                  source=None, trigger=None)
return_statement: return p.pid
docstring: Start an executable for analysis.
          @param path: executable path
          @param args: executable arguments
          @param mode: monitor mode - which functions to instrument
          @param maximize: whether the GUI should start maximized
          @param env: additional environment variables
          @param source: parent process of our process
          @param trigger: trigger to indicate analysis start
          @return: process pid
docstring_summary: Start an executable for analysis.
docstring_tokens: Start an executable for analysis .
function: def execute(self, path, args, mode=None, maximize=False, env=None,
                  source=None, trigger=None):
          """Start an executable for analysis.
          @param path: executable path
          @param args: executable arguments
          @param mode: monitor mode - which functions to instrument
          @param maximize: whether the GUI should start maximized
          @param env: additional environment variables
          @param source: parent process of our process
          @param trigger: trigger to indicate analysis start
          @return: process pid
          """
          dll = self.options.get("dll")
          free = self.options.get("free")
          analysis = self.options.get("analysis")
  
          # Kernel analysis overrides the free argument.
          if analysis == "kernel":
              free = True
  
          source = source or self.options.get("from")
          mode = mode or self.options.get("mode")
  
          if not trigger and self.options.get("trigger"):
              if self.options["trigger"] == "exefile":
                  trigger = "file:%s" % path
  
          # Setup pre-defined registry keys.
          self.init_regkeys(self.REGKEYS)
  
          p = Process()
          if not p.execute(path=path, args=args, dll=dll, free=free,
                           curdir=self.curdir, source=source, mode=mode,
                           maximize=maximize, env=env, trigger=trigger):
              raise CuckooPackageError(
                  "Unable to execute the initial process, analysis aborted."
              )
  
          return p.pid
function_tokens: def execute ( self , path , args , mode = None , maximize = False , env = None , source = None , trigger = None ) : dll = self . options . get ( "dll" ) free = self . options . get ( "free" ) analysis = self . options . get ( "analysis" ) # Kernel analysis overrides the free argument. if analysis == "kernel" : free = True source = source or self . options . get ( "from" ) mode = mode or self . options . get ( "mode" ) if not trigger and self . options . get ( "trigger" ) : if self . options [ "trigger" ] == "exefile" : trigger = "file:%s" % path # Setup pre-defined registry keys. self . init_regkeys ( self . REGKEYS ) p = Process ( ) if not p . execute ( path = path , args = args , dll = dll , free = free , curdir = self . curdir , source = source , mode = mode , maximize = maximize , env = env , trigger = trigger ) : raise CuckooPackageError ( "Unable to execute the initial process, analysis aborted." ) return p . pid