classification
Title: Expose a way to determine if a process has been closed or not
Type: enhancement Stage:
Components: Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: petervansickel
Priority: normal Keywords:

Created on 2021-01-11 19:55 by petervansickel, last changed 2021-01-11 19:55 by petervansickel.

Messages (1)
msg384860 - (view) Author: Peter Van Sickel (petervansickel) Date: 2021-01-11 19:55
I have been using the multiprocessing Process class a good bit lately. I have a class that is managing the a given list of processes from launch to completion. 
Recently I started using Process close().  I found myself wanting to determine if a given process instance was closed or not before I did anything like check its exitcode or invoke any of the other methods that raise a ValueError if done so on a closed process.
As far as I can tell there is no exposed way to check if the process is closed.  The Process class has a _closed instance variable and a _check_closed() method, but those are not intended for direct use.
I created a simple wrapper class that has its own closed instance variable and wraps the close() method of Process so that the closed instance variable can be set to True when close() is called and then call super().close() to allow the normal close operation to complete.
It would be convenient if the Process class itself supported an is_closed() method or exposed a Boolean closed attribute to easily determine if a process instance has been closed.
History
Date User Action Args
2021-01-11 19:55:45petervansickelcreate