code: def run(self):
      self.self_pickling_work.run()
      self.work_that_loads_pickled_work.run()
  
      with open("script_that_loads_pickled_work.py", "w") as f:
          f.write(script_load_pickled_work)
  
      # read the output from subprocess
      proc = subprocess.Popen(
          ["python", "script_that_loads_pickled_work.py"],
          stdout=subprocess.PIPE,
      )
      assert "Hello from SelfPicklingWork" in proc.stdout.read().decode(
          "UTF-8"
      )
  
      # deleting the script
      Path("script_that_loads_pickled_work.py").unlink()
      # deleting the pkl file
      Path("work.pkl").unlink()
  
      self.stop("Exiting the pickling app successfully!!")
  
file_path: pytorch-lightning/tests/tests_app/utilities/testdata/safe_pickle_app.py
imports: import subprocess
  from pathlib import Path
  from lightning.app import LightningApp, LightningFlow, LightningWork
  from lightning.app.utilities import safe_pickle
label_desc: Use image node_id 2 for calling the RootFlow obj's underlying member method code with example usage: obj.run() without return types