A *nix cross-platform (OS agnostic) supervisor. The main idea behind immortal is to keep up and running services forever even if the server is rebooted the service should be started and based on the requirements probably the services may start in sequence by waiting for others to start, wait some seconds before starting, etc, but at the end the idea remains, “run something forever” and in case exist just restart it. Doing this could be tricky, mainly because if you just want to launch your service/worker/daemon, etc you may not want to spend to much time understanding how to properly launch something in the operating system your company is using. Probably you just join a new team and when are about to deploy, found out that the production servers are not using the OS you were used to besides they don’t support/have your known supervisor, have a mix of init/upstart scripts.
Features
- Run on behalf other system user
- Immortal like non-root user
- immortaldir should be started on boot time and its main function is to scan the contents of the passed directory
- If using FreeBSD or macOS you can install using pkg/ports or homebrew
- If services need to run on behalf other system user www, nobody, www-data, not root, immortal should be compiled from sourc
- Linux precompiled binaries