Examples of SuPr (Supervised Process) development:
- update-agent
- orb-core
- fan-controller
- ...
Through signal_hook or otherwise, we expect components to adhere to UNIX signal best practices, specifically around shutdown signals.
The supervisor decides it must shutdown. The supervisor iterates over the list of supervised processes, reads their corresponding PID file, and issues a SIGTERM to give the application SOME DEFINED SECONDS to shutdown. After that time has elapsed, the supervisor re-reads the SuPr PID files and sends a SIGKILL.