Skip to content

Add a way to keep relaunching the payload process in case it exits #15

@probonopd

Description

@probonopd

Add a way to keep relaunching the payload process in case it exits with an exit code other than 0.

Use case:
launch --relaunch-on-exit Filer --desktop could be used in the startup script. If Filer crashes, it would get automatically restarted. (Reference: helloSystem/hello#172 (comment))

Note:
The time between two non-successful launches should double every time it is tried (to prevent from "respawning too fast" situations due to launch-crash-launch-crash loops).

  • Try to relaunch immediately after the payload process has exited with an exit code other than 0
  • In case the relaunch fails, wait for 2 seconds and retry
  • In case the relaunch fails again, wait for 4 seconds and retry
  • In case the relaunch fails again, wait for 8 seconds and retry
  • and so on
  • Once the relaunch succeeds and the payload application does not exit with an exit code other than 0 within a certain amount of time, reset the delay so that in case the application crashes again, the whole process starts again.

Is this a sensible behavior?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions