title: Segmentation Fault Catch
body: <p>I have a python script and it will loop through bunch of maya files and do some stuff. But some time maya get seg fault and my script will stop there. I tried with <code>signal</code> and <code>multiprocess</code>. But both failed.</p>
  <pre><code>import os, optparse, glob, json, signal
  import maya.standalone
  import maya.cmds as cmds
  from multiprocessing import Process, Queue
  
  def loadMayaBd():
      maya.standalone.initialize(name='python')
  
  def sig_handler(signum, frame):
      print &quot;segfault&quot;
  
  def doSome(args, options):
      signal.signal(signal.SIGSEGV, sig_handler)
      loadMayaBd()
      #from here its just a example
      fileNameList = args[0]
      for eachFile in fileNameList:
          #this is throwing the seg fault
          #I want continue my for llop even if there is any segfault
          #I don't want to exit python coz of that segfault
          cmds.file(eachFile, force = 1, open = 1)
  
  if __name__ == &quot;__main__&quot;:
      usage = &quot;usage: %prog [options] args(file list)&quot;
      parser = optparse.OptionParser(usage)
      parser.add_option(&quot;-l&quot;, &quot;--log&quot;, dest=&quot;log&quot;,
                    help=&quot;Log File Path&quot;, metavar=&quot;LOG_FILE&quot;)
      parser.add_option(&quot;-v&quot;, &quot;--verbose&quot;, dest=&quot;verbose&quot;,
                    help=&quot;Print All Logs&quot;, metavar=&quot;VERBOSE&quot;, default=False, action='store_true')
      (options, args) = parser.parse_args()
      if len(args) &lt;= 0:
          errorMsg = &quot;You must pass file path list for crawling&quot;
          raise RuntimeError(errorMsg)
      p = Process(target=doSome, args=(args, options))
      p.start()
      p.join()
  </code></pre>
  <p>Is there any other method which can trap seg fault and continue with next?</p>