helloSystem / helloSystem/launch

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

Open
#15 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
17
Forks
6
PR merge metrics
No merged PRs in 30d

Description

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: https://github.com/helloSystem/hello/issues/172#issuecomment-862589188)

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?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.