久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

    1. <legend id='v1zIA'><style id='v1zIA'><dir id='v1zIA'><q id='v1zIA'></q></dir></style></legend>
      <i id='v1zIA'><tr id='v1zIA'><dt id='v1zIA'><q id='v1zIA'><span id='v1zIA'><b id='v1zIA'><form id='v1zIA'><ins id='v1zIA'></ins><ul id='v1zIA'></ul><sub id='v1zIA'></sub></form><legend id='v1zIA'></legend><bdo id='v1zIA'><pre id='v1zIA'><center id='v1zIA'></center></pre></bdo></b><th id='v1zIA'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='v1zIA'><tfoot id='v1zIA'></tfoot><dl id='v1zIA'><fieldset id='v1zIA'></fieldset></dl></div>
      <tfoot id='v1zIA'></tfoot>
        <bdo id='v1zIA'></bdo><ul id='v1zIA'></ul>

        故意在python中創建一個孤兒進程

        Deliberately make an orphan process in python(故意在python中創建一個孤兒進程)

        <i id='C9qFB'><tr id='C9qFB'><dt id='C9qFB'><q id='C9qFB'><span id='C9qFB'><b id='C9qFB'><form id='C9qFB'><ins id='C9qFB'></ins><ul id='C9qFB'></ul><sub id='C9qFB'></sub></form><legend id='C9qFB'></legend><bdo id='C9qFB'><pre id='C9qFB'><center id='C9qFB'></center></pre></bdo></b><th id='C9qFB'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='C9qFB'><tfoot id='C9qFB'></tfoot><dl id='C9qFB'><fieldset id='C9qFB'></fieldset></dl></div>
      1. <small id='C9qFB'></small><noframes id='C9qFB'>

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

              <tbody id='C9qFB'></tbody>

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

                  本文介紹了故意在python中創建一個孤兒進程的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我有一個名為 MyScript 的 Python 腳本(類似于 unix,基于 RHEL),它有兩個函數,分別稱為 A 和 B.我希望它們在不同的獨立進程中運行(分離 B 和 A):

                  I have a python script (unix-like, based on RHEL), called MyScript, that has two functions, called A and B. I'd like them to run in different, independent processes (detach B and A):

                  • 啟動腳本 MyScript
                  • 執行函數A
                  • 生成一個新進程,將數據從函數 A 傳遞到 B
                  • 當函數 B 運行時,繼續函數 A
                  • 當函數 A 完成時,即使 B 仍在運行,也要退出 MyScript

                  我認為我應該使用多處理來創建一個守護進程,但是 documentation 表明這不是正確的用例.所以,我決定生成一個子進程和 child^2 進程(孩子的孩子),然后強制孩子終止.雖然這種解決方法似乎有效,但看起來真的很難看.

                  I thought I should use multiprocessing to create a daemon process, but the documentation suggests that's not the right usecase. So, I decided to spawn a child process and child^2 process (the child's child), and then force the child to terminate. While this workaround appears to work, it seems really ugly.

                  你能幫我讓它更 Pythonic 嗎?subprocess 模塊是否有可以對函數進行操作的方法?示例代碼如下.

                  Can you help me make it more pythonic? Does the subprocess module have a method that will operate on a function? Sample code below.

                  import multiprocessing
                  import time
                  import sys
                  import os
                  
                  def parent_child():
                      p = multiprocessing.current_process()
                      print 'Starting parent child:', p.name, p.pid
                      sys.stdout.flush()
                      cc = multiprocessing.Process(name='childchild', target=child_child)
                      cc.daemon = False
                      cc.start()
                      print 'Exiting parent child:', p.name, p.pid
                      sys.stdout.flush()
                  
                  def child_child():
                      p = multiprocessing.current_process()
                      print 'Starting child child:', p.name, p.pid
                      sys.stdout.flush()
                      time.sleep(30)
                      print 'Exiting child child:', p.name, p.pid
                      sys.stdout.flush()
                  
                  def main():
                      print 'starting main', os.getpid()
                      d = multiprocessing.Process(name='parentchild', target=parent_child)
                      d.daemon = False
                      d.start()
                      time.sleep(5)
                      d.terminate()
                      print 'exiting main', os.getpid()
                  
                  main()
                  

                  推薦答案

                  這只是原始代碼的隨機版本,它將功能移動到單個調用 spawn_detached(callable).即使在程序退出后,它也會保持分離的進程運行:

                  Here is just a random version of your original code that moves the functionality into a single call spawn_detached(callable). It keeps the detached process running even after the program exits:

                  import time
                  import os
                  from multiprocessing import Process, current_process
                  
                  def spawn_detached(callable):
                      p = _spawn_detached(0, callable)
                      # give the process a moment to set up
                      # and then kill the first child to detach
                      # the second.
                      time.sleep(.001)
                      p.terminate()
                  
                  def _spawn_detached(count, callable):
                      count += 1
                      p = current_process()
                      print 'Process #%d: %s (%d)' % (count, p.name, p.pid)
                  
                      if count < 2:
                          name = 'child'
                      elif count == 2:
                          name = callable.func_name
                      else:
                          # we should now be inside of our detached process
                          # so just call the function
                          return callable()
                  
                      # otherwise, spawn another process, passing the counter as well
                      p = Process(name=name, target=_spawn_detached, args=(count, callable)) 
                      p.daemon = False 
                      p.start()
                      return p
                  
                  def operation():
                      """ Just some arbitrary function """
                      print "Entered detached process"
                      time.sleep(15)
                      print "Exiting detached process"
                  
                  
                  if __name__ == "__main__":
                      print 'starting main', os.getpid()
                      p = spawn_detached(operation)
                      print 'exiting main', os.getpid()
                  

                  這篇關于故意在python中創建一個孤兒進程的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  What exactly is Python multiprocessing Module#39;s .join() Method Doing?(Python 多處理模塊的 .join() 方法到底在做什么?)
                  Passing multiple parameters to pool.map() function in Python(在 Python 中將多個參數傳遞給 pool.map() 函數)
                  multiprocessing.pool.MaybeEncodingError: #39;TypeError(quot;cannot serialize #39;_io.BufferedReader#39; objectquot;,)#39;(multiprocessing.pool.MaybeEncodingError: TypeError(cannot serialize _io.BufferedReader object,)) - IT屋-程序員軟件開
                  Python Multiprocess Pool. How to exit the script when one of the worker process determines no more work needs to be done?(Python 多進程池.當其中一個工作進程確定不再需要完成工作時,如何退出腳本?) - IT屋-程序員
                  How do you pass a Queue reference to a function managed by pool.map_async()?(如何將隊列引用傳遞給 pool.map_async() 管理的函數?)
                  yet another confusion with multiprocessing error, #39;module#39; object has no attribute #39;f#39;(與多處理錯誤的另一個混淆,“模塊對象沒有屬性“f)

                  <i id='WbUAC'><tr id='WbUAC'><dt id='WbUAC'><q id='WbUAC'><span id='WbUAC'><b id='WbUAC'><form id='WbUAC'><ins id='WbUAC'></ins><ul id='WbUAC'></ul><sub id='WbUAC'></sub></form><legend id='WbUAC'></legend><bdo id='WbUAC'><pre id='WbUAC'><center id='WbUAC'></center></pre></bdo></b><th id='WbUAC'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='WbUAC'><tfoot id='WbUAC'></tfoot><dl id='WbUAC'><fieldset id='WbUAC'></fieldset></dl></div>
                    • <bdo id='WbUAC'></bdo><ul id='WbUAC'></ul>

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

                        <legend id='WbUAC'><style id='WbUAC'><dir id='WbUAC'><q id='WbUAC'></q></dir></style></legend>
                          <tbody id='WbUAC'></tbody>
                        <tfoot id='WbUAC'></tfoot>

                            主站蜘蛛池模板: 天天爽爽 | 久久日av| 青青草免费观看 | 欧美一二| 亚洲精品色 | 亚洲人成免费 | 欧洲一级片 | 欧美大片91| 欧美资源在线 | 欧美日韩免费一区二区三区 | 91av免费观看 | 精品久久精品 | 国产区视频在线观看 | 国产精品99久久久久久www | 国产一区在线播放 | 一区二区三区久久久 | 日韩在线视频观看 | 亚洲区一区二 | 丰满少妇高潮无套内谢 | 黄色欧美大片 | 成人免费视频网址 | 欧美一级黄| 色综合五月天 | 免费爱爱网站 | 91精品久久久久 | 9l视频自拍九色9l视频成人 | 一区二区三区四区在线 | 欧美日韩精品 | 看免费毛片| 不卡的av网站 | 久久精品视频网 | 国产日韩精品在线 | 国产精品三 | 精品一区二区三区中文字幕 | 亚洲精品乱码久久久久久蜜桃91 | 视频一区二区三区在线观看 | 四虎影视最新网址 | 日韩黄色免费视频 | 最近中文字幕在线 | 欧美区在线 | 久久爱综合 |