<tfoot id='lg2Fg'></tfoot>
    1. <legend id='lg2Fg'><style id='lg2Fg'><dir id='lg2Fg'><q id='lg2Fg'></q></dir></style></legend>

      <small id='lg2Fg'></small><noframes id='lg2Fg'>

          <bdo id='lg2Fg'></bdo><ul id='lg2Fg'></ul>
      1. <i id='lg2Fg'><tr id='lg2Fg'><dt id='lg2Fg'><q id='lg2Fg'><span id='lg2Fg'><b id='lg2Fg'><form id='lg2Fg'><ins id='lg2Fg'></ins><ul id='lg2Fg'></ul><sub id='lg2Fg'></sub></form><legend id='lg2Fg'></legend><bdo id='lg2Fg'><pre id='lg2Fg'><center id='lg2Fg'></center></pre></bdo></b><th id='lg2Fg'></th></span></q></dt></tr></i><div id='lg2Fg'><tfoot id='lg2Fg'></tfoot><dl id='lg2Fg'><fieldset id='lg2Fg'></fieldset></dl></div>

      2. 分段错误捕获

        时间:2023-05-25
      3. <tfoot id='jhPg9'></tfoot>
          <bdo id='jhPg9'></bdo><ul id='jhPg9'></ul>

        • <legend id='jhPg9'><style id='jhPg9'><dir id='jhPg9'><q id='jhPg9'></q></dir></style></legend>

              <tbody id='jhPg9'></tbody>

            • <small id='jhPg9'></small><noframes id='jhPg9'>

                  <i id='jhPg9'><tr id='jhPg9'><dt id='jhPg9'><q id='jhPg9'><span id='jhPg9'><b id='jhPg9'><form id='jhPg9'><ins id='jhPg9'></ins><ul id='jhPg9'></ul><sub id='jhPg9'></sub></form><legend id='jhPg9'></legend><bdo id='jhPg9'><pre id='jhPg9'><center id='jhPg9'></center></pre></bdo></b><th id='jhPg9'></th></span></q></dt></tr></i><div id='jhPg9'><tfoot id='jhPg9'></tfoot><dl id='jhPg9'><fieldset id='jhPg9'></fieldset></dl></div>
                  本文介绍了分段错误捕获的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我有一个 python 脚本,它会遍历一堆 maya 文件并做一些事情.但是有时玛雅会出现段错误,我的脚本会停在那里.我尝试使用 signalmultiprocess.但都失败了.

                  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 signal and multiprocess. But both failed.

                  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 "segfault"
                  
                  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__ == "__main__":
                      usage = "usage: %prog [options] args(file list)"
                      parser = optparse.OptionParser(usage)
                      parser.add_option("-l", "--log", dest="log",
                                    help="Log File Path", metavar="LOG_FILE")
                      parser.add_option("-v", "--verbose", dest="verbose",
                                    help="Print All Logs", metavar="VERBOSE", default=False, action='store_true')
                      (options, args) = parser.parse_args()
                      if len(args) <= 0:
                          errorMsg = "You must pass file path list for crawling"
                          raise RuntimeError(errorMsg)
                      p = Process(target=doSome, args=(args, options))
                      p.start()
                      p.join()
                  

                  有没有其他方法可以捕获 seg fault 并继续下一步?

                  Is there any other method which can trap seg fault and continue with next?

                  推荐答案

                  这对我有用:

                  import os
                  import signal
                  
                  
                  def sig_handler(signum, frame):
                      print("segfault")
                  
                  
                  signal.signal(signal.SIGSEGV, sig_handler)
                  
                  os.kill(os.getpid(), signal.SIGSEGV)
                  
                  while True:
                      pass
                  

                  您确定要在生成的每个进程中捕获段错误吗?

                  Are you sure you are trapping the segfault in each process that you are spawning?

                  这篇关于分段错误捕获的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:python多处理:写入相同的excel文件 下一篇:检索使用 multiprocessing.Pool.map 启动的进程的退出代

                  相关文章

                  最新文章

                  <legend id='bDwT2'><style id='bDwT2'><dir id='bDwT2'><q id='bDwT2'></q></dir></style></legend>
                1. <small id='bDwT2'></small><noframes id='bDwT2'>

                  • <bdo id='bDwT2'></bdo><ul id='bDwT2'></ul>

                2. <i id='bDwT2'><tr id='bDwT2'><dt id='bDwT2'><q id='bDwT2'><span id='bDwT2'><b id='bDwT2'><form id='bDwT2'><ins id='bDwT2'></ins><ul id='bDwT2'></ul><sub id='bDwT2'></sub></form><legend id='bDwT2'></legend><bdo id='bDwT2'><pre id='bDwT2'><center id='bDwT2'></center></pre></bdo></b><th id='bDwT2'></th></span></q></dt></tr></i><div id='bDwT2'><tfoot id='bDwT2'></tfoot><dl id='bDwT2'><fieldset id='bDwT2'></fieldset></dl></div>

                      <tfoot id='bDwT2'></tfoot>