def METHOD_NAME(self):
    """Attempts to kill the runbook subprocess.
    This method will attempt to kill the runbook subprocess [max_attempt_count] and will return if successful.
    Throws:
        SandboxRuntimeException : If runbook subprocess is still alive after [max_attempt_count].
    """
    attempt_count = 0
    max_attempt_count = 3
    while attempt_count < max_attempt_count:
        if self.runbook_subprocess is not None and self.runbook_subprocess.poll() is None:
            os.kill(self.runbook_subprocess.pid, signal.SIGTERM)
            runbook_proc_is_alive = self.is_process_alive(self.runbook_subprocess)
            if runbook_proc_is_alive is False:
                return
            attempt_count += 1
            time.sleep(attempt_count)
        else:
            return
    raise SandboxRuntimeException()