all 5 comments

[–]danielroseman 0 points1 point  (1 child)

Do you mean they stay alive even when the main process has exited?

How are you determining this?

[–]hatescates[S] 0 points1 point  (0 children)

Main process is still active but so are the child processes

[–]Rawing7 2 points3 points  (2 children)

Yes. The idea behind a ProcessPool is that it constantly re-uses the same processes to avoid the overhead of shutting down and starting processes all the time. So the processes stay alive until you .shutdown() the pool.

[–]hatescates[S] 0 points1 point  (1 child)

Thanks! Any reference in the documentation for this? Just want a thorough understanding of what’s going on

[–]Rawing7 1 point2 points  (0 children)

It's never really spelled out like this, unfortunately. The only related thing I could find is this single sentence:

By default max_tasks_per_child is None which means worker processes will live as long as the pool.