code: def test_reuse_after_server_shutdown(self):
      select_query = """SELECT id, label FROM DETRAC JOIN
              LATERAL Yolo(data) AS Obj(label, bbox, conf) WHERE id < 4;"""
      execute_query_fetch_all(self.evadb, select_query)
  
      # Stop and restart server
      os.system("nohup evadb_server --stop")
      os.system("nohup evadb_server --start &")
  
      select_query = """SELECT id, label FROM DETRAC JOIN
              LATERAL Yolo(data) AS Obj(label, bbox, conf) WHERE id < 6;"""
  
      reuse_batch = execute_query_fetch_all(self.evadb, select_query)
      self._verify_reuse_correctness(select_query, reuse_batch)
  
      # stop the server
      os.system("nohup evadb_server --stop")
  
imports: import gc
  import os
  import unittest
  from pathlib import Path
  from test.markers import gpu_skip_marker, windows_skip_marker
  from test.util import get_evadb_for_testing, get_logical_query_plan, load_functions_for_testing, shutdown_ray
  from mock import patch
  from evadb.configuration.constants import EvaDB_ROOT_DIR
  from evadb.models.storage.batch import Batch
  from evadb.optimizer.operators import LogicalFunctionScan
  from evadb.optimizer.plan_generator import PlanGenerator
  from evadb.optimizer.rules.rules import CacheFunctionExpressionInApply, CacheFunctionExpressionInFilter, CacheFunctionExpressionInProject
  from evadb.optimizer.rules.rules_manager import RulesManager, disable_rules
  from evadb.server.command_handler import execute_query_fetch_all
  from evadb.utils.stats import Timer
label_desc: Use image node_id 16 for calling the ReuseTest obj's underlying member method code with example usage: obj.test_reuse_after_server_shutdown() without return types