code: def test_recreate_child_actor(ray_start_cluster):
      @ray.remote
      class Actor:
          def __init__(self):
              pass
  
          def ready(self):
              return
  
      @ray.remote(max_restarts=-1, max_task_retries=-1)
      class Parent:
          def __init__(self):
              self.child = Actor.remote()
  
          def ready(self):
              return ray.get(self.child.ready.remote())
  
          def pid(self):
              return os.getpid()
  
      ray.init(address=ray_start_cluster.address)
      p = Parent.remote()
      pid = ray.get(p.pid.remote())
      os.kill(pid, 9)
      ray.get(p.ready.remote())
  
imports: import atexit
  import asyncio
  import collections
  import numpy
  import os
  import pytest
  import signal
  import sys
  import time
  import ray
  from ray.actor import exit_actor
  import ray.cluster_utils
  from ray._private.test_utils import wait_for_condition, wait_for_pid_to_exit, generate_system_config_map, SignalActor
label_desc: Use image node_id 14 for calling a global function with example usage: test_recreate_child_actor(ray_start_cluster) and returns: ray, os