We use group_system_updates.py to apply updates to our systems. This iterates through all systems of a group and calls system_update.py to schedule updates for each system.
After the update is scheduled group_system_updates.py exits but system_update.py is still running with file handles for stdout/stderr open. But system_update.py is no more a child process of the shell that called group_system_update.py. This is a situation that is not easy to handle. It should be one of the two options:
- Real async: system_update should not share file handles with group_system_updates
- Sync: group_system_updates should wait until all system_update process have closed their handles
For the async case it would great to have an alternative way to find when all scheduled updates are finished