Re: [Python-Dev] why multiprocessing use os._exit

2017年3月03日 05:07:10 -0800

Hello.
 This mailing list is to work on developing Python (adding new
features to Python itself and fixing bugs); if you're having problems
learning, understanding or using Python, please find another forum.
Probably python-list/comp.lang.python mailing list/news group is the
best place; there are Python developers who participate in it; you may
get a faster, and probably more complete, answer there. See
http://www.python.org/community/ for other lists/news groups/fora. Thank
you for understanding.
 Using os._exit() after fork is documented:
https://docs.python.org/3/library/os.html#os._exit
 and this is exactly what multiprocessing does.
On Fri, Mar 03, 2017 at 12:51:59PM +0800, Tao Qingyun <[email protected]> 
wrote:
> in multiprocessing/forking.py#129, `os._exit` cause child process don't close 
> open
> file. For example:
> 
> ```
> from multiprocessing import Process
> 
> def f():
> global log # prevent gc close the file
> log = open("info.log", "w")
> log.write("***hello world***\n")
> 
> p = Process(target=f)
> p.start()
> p.join()
> 
> ```
> and the `info.log` will be empty. why not use sys.exit ? 
> 
> 
> Thanks
Oleg.
-- 
 Oleg Broytman http://phdru.name/ [email protected]
 Programmers don't die, they just GOSUB without RETURN.
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to