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

        <small id='7djAi'></small><noframes id='7djAi'>

          <bdo id='7djAi'></bdo><ul id='7djAi'></ul>
        <legend id='7djAi'><style id='7djAi'><dir id='7djAi'><q id='7djAi'></q></dir></style></legend>
      1. <tfoot id='7djAi'></tfoot>

        父进程退出时如何让子进程存活?

        时间:2023-05-27
        • <bdo id='kguXL'></bdo><ul id='kguXL'></ul>
          <tfoot id='kguXL'></tfoot>

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

              <legend id='kguXL'><style id='kguXL'><dir id='kguXL'><q id='kguXL'></q></dir></style></legend>

                  <tbody id='kguXL'></tbody>

                1. <i id='kguXL'><tr id='kguXL'><dt id='kguXL'><q id='kguXL'><span id='kguXL'><b id='kguXL'><form id='kguXL'><ins id='kguXL'></ins><ul id='kguXL'></ul><sub id='kguXL'></sub></form><legend id='kguXL'></legend><bdo id='kguXL'><pre id='kguXL'><center id='kguXL'></center></pre></bdo></b><th id='kguXL'></th></span></q></dt></tr></i><div id='kguXL'><tfoot id='kguXL'></tfoot><dl id='kguXL'><fieldset id='kguXL'></fieldset></dl></div>
                  本文介绍了父进程退出时如何让子进程存活?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我想使用 multiprocessing 模块来完成这个.

                  I want to use multiprocessing module to complete this.

                  当我这样做时,例如:

                      $ python my_process.py
                  

                  我启动一个父进程,然后让父进程产生一个子进程,

                  I start a parent process, and then let the parent process spawn a child process,

                  然后我希望父进程自行退出,但子进程继续工作.

                  then i want that the parent process exits itself, but the child process continues to work.

                  请允许我写一个错误代码来解释我自己:

                  Allow me write a WRONG code to explain myself:

                  from multiprocessing import Process
                  
                  def f(x):
                      with open('out.dat', 'w') as f:
                          f.write(x)
                  
                  if __name__ == '__main__':
                      p = Process(target=f, args=('bbb',))
                      p.daemon = True    # This is key, set the daemon, then parent exits itself
                      p.start()
                  
                      #p.join()    # This is WRONG code, just want to exlain what I mean.
                      # the child processes will be killed, when father exit
                  

                  那么,我如何启动一个在父进程完成时不会被杀死的进程?

                  So, how do i start a process that will not be killed when the parent process finishes?

                  20140714

                  大家好

                  我的朋友刚刚告诉我一个解决方案...

                  My friend just told me a solution...

                  我只是觉得……

                  不管怎样,让你看看:

                  import os
                  os.system('python your_app.py&')    # SEE!? the & !!
                  

                  这确实有效!

                  推荐答案

                  一个技巧:调用os._exit 让父进程退出,这样守护子进程就不会被杀死.

                  A trick: call os._exit to make parent process exit, in this way daemonic child processes will not be killed.

                  但是还有一些其他的副作用,在 doc:

                  But there are some other side affects, described in the doc:

                  Exit the process with status n, without calling cleanup handlers, 
                  flushing stdio buffers, etc.
                  

                  如果你不关心这个,你可以使用它.

                  If you do not care about this, you can use it.

                  这篇关于父进程退出时如何让子进程存活?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:不能腌制静态方法 - 多处理 - Python 下一篇:如何在导入的模块中使用 multiprocessing.Pool?

                  相关文章

                  最新文章

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

                      <small id='2QdPB'></small><noframes id='2QdPB'>