Skip to content

Honoring stopasgroup / killasgroup defaulting to false #45

Description

@haegrr

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions