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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions