class_docstr: This class represents a single execution of a model with a given set of hyper-parameters. It takes care of
  of managing the model process and standardizing the results.
class_docstr_tok: ["This","class","represents","a","single","execution","of","a","model","with","a","given","set","of","hyper-parameters",".","It","takes","care","of","of","managing","the","model","process","and","standardizing","the","results","."]
docstr: This method checks all of the conditions on the process, such as time usage and RAM usage, to decide whether
  it should be killed prematurely.
  
  :return: True/False on whether the process should be killed prematurely.
docstr_tok: ["This","method","checks","all","of","the","conditions","on","the","process",",","such","as","time","usage","and","RAM","usage",",","to","decide","whether","it","should","be","killed","prematurely",".",":","return",":","True\/False","on","whether","the","process","should","be","killed","prematurely","."]
code: def shouldKillProcess(self):
      """
      This method checks all of the conditions on the process, such as time usage and RAM usage, to decide whether
      it should be killed prematurely.
  
      :return: True/False on whether the process should be killed prematurely.
      """
      processStats = psutil.Process(self.process.pid)
  
      memUsageMB = float(processStats.memory_info().vms) / (1024 * 1024)
      if (
          "auto_kill_max_ram" in self.config
          and memUsageMB > self.config["auto_kill_max_ram"]
      ):
          return True
  
      systemStats = psutil.virtual_memory()
      memUsageMB = float(systemStats.total - systemStats.available) / (
          1024 * 1024
      )
      if (
          "auto_kill_max_system_ram" in self.config
          and memUsageMB > self.config["auto_kill_max_system_ram"]
      ):
          return True
  
      elapsedTime = (
          datetime.datetime.now() - self.startTime
      ).total_seconds()
      if (
          "auto_kill_max_time" in self.config
          and elapsedTime > self.config["auto_kill_max_time"]
      ):
          return True
  
      return False
  
file_path: hypermax/hypermax/execution.py
imports: import subprocess
  import json
  import atexit
  import jsonschema
  import psutil
  import sys
  import random
  import time
  import datetime
  import os
label_desc: Use image node_id 6 for calling the Execution obj's underlying member method code with example usage: obj.shouldKillProcess() and returns: False, True, True, True