code: def __exit__(self, exc_type, exc_val, exc_tb):
      if self.fusefat is not None:
          self.fusefat.send_signal(signal.SIGINT)
  
          # Allow 1s to return without sending terminate
          for count in range(10):
              time.sleep(0.1)
              if self.fusefat.poll() is not None:
                  break
          else:
              self.fusefat.terminate()
          time.sleep(self.delay)
          assert not os.path.exists(self.canary)
      self.dev_null.close()
      shutil.rmtree(self.tmpdir)
  
file_path: nipype/nipype/testing/utils.py
imports: import os
  import time
  import shutil
  import signal
  import subprocess
  from subprocess import CalledProcessError
  from tempfile import mkdtemp
  from ..utils.misc import package_check
  import numpy
  import nibabel
label_desc: Use image node_id 3 for calling the TempFATFS obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_val, exc_tb) without return types