Thanks for this awesome port. Looking at the main Supervisor docs, stopasgroup and killasgroup default to false. But since this port puts child processes into a job without breakaway, they are in effect always true here if I'm not mistaken?
Related LimitFlags:
JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK will automatically break away grandchild processes
JOB_OBJECT_LIMIT_BREAKAWAY_OK will allow job-aware programs to break away their children on request (using the CREATE_BREAKAWAY_FROM_JOB process creation flag)
Use case: I have an app that spawns an updater process that stops the service and expects to be orphaned. The updater completes the update and the starts the service back up again. But due to the above, the updater gets terminated with the job and the service never restarts. Setting JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK in process.py fixes this according to my expectations of stopasgroup and killasgroup.
Thanks for this awesome port. Looking at the main Supervisor docs,
stopasgroupandkillasgroupdefault tofalse. But since this port puts child processes into a job without breakaway, they are in effect alwaystruehere if I'm not mistaken?Related LimitFlags:
JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OKwill automatically break away grandchild processesJOB_OBJECT_LIMIT_BREAKAWAY_OKwill allow job-aware programs to break away their children on request (using theCREATE_BREAKAWAY_FROM_JOBprocess creation flag)Use case: I have an app that spawns an updater process that stops the service and expects to be orphaned. The updater completes the update and the starts the service back up again. But due to the above, the updater gets terminated with the job and the service never restarts. Setting
JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OKinprocess.pyfixes this according to my expectations ofstopasgroupandkillasgroup.