code: def test_driver_lives_parallel(ray_start_regular):
      all_processes = ray._private.worker._global_node.all_processes
  
      process_infos = (
          all_processes[ray_constants.PROCESS_TYPE_RAYLET]
          + all_processes[ray_constants.PROCESS_TYPE_LOG_MONITOR]
          + all_processes[ray_constants.PROCESS_TYPE_MONITOR]
      )
  
      # Kill all the components in parallel.
      for process_info in process_infos:
          process_info.process.terminate()
  
      time.sleep(0.1)
      for process_info in process_infos:
          process_info.process.kill()
  
      for process_info in process_infos:
          process_info.process.wait()
  
file_path: ray/python/ray/tests/test_component_failures_3.py
imports: import sys
  import time
  import numpy
  import pytest
  import ray
  import ray._private.ray_constants
  from ray._private.test_utils import get_other_nodes
label_desc: Use image node_id 3 for calling a global function with example usage: test_driver_lives_parallel(ray_start_regular) without return types