class_docstr: Custom pool that does not set its worker as daemon process
class_docstr_tok: ["Custom","pool","that","does","not","set","its","worker","as","daemon","process"]
code: def shutdown(self):
      # NB: https://pytest-cov.readthedocs.io/en/latest/subprocess-support.html
      # says to not use terminate although it is what __exit__ does
      self.close()
      self.join()
  
imports: import concurrent.futures
  import logging
  import multiprocessing
  import pickle
  import traceback
  from concurrent.futures import ThreadPoolExecutor, wait
  from multiprocessing import Process
  from multiprocessing.pool import Pool
  import cloudpickle
  from orion.executor.base import AsyncException, AsyncResult, BaseExecutor, ExecutorClosed, Future
label_desc: Use image node_id 2 for calling the Pool obj's underlying member method code with example usage: obj.shutdown() without return types