mirror of
https://github.com/troglobit/finit.git
synced 2026-10-02 05:52:48 +07:00
With the recent changes to the condition handling it has become more and more evident that the canonical reference for a task/run/service is the NAME:ID representation. Up until now we've kept the older JOB:ID for some sort of compatibility fallback. This patch removes the support to simplify maintenance going forward. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
1.1 KiB
1.1 KiB
Finit Services
State Machine
A service is bound to a state machine that is in one of six (6) states.
For runs and tasks there is an additional end state called DONE,
not shown in the diagram for brevity. Services start in the HALTED
state.
The current state depends on the two following conditions:
-
E: Service enabled. In order forEto be satisfied, the service must be allowed to run in the current runlevel and not be stopped.A service may be stopped, or blocked, for several reasons:
- The user has manually stopped the service using
initctl stop NAME - The program exits immediately. I.e. keeps crashing (make sure to use the 'run this service in the foreground' command line option)
- The binary is missing in the filesystem
- The user has manually stopped the service using
-
C: Service conditions are satisfied:on(+): The condition is asserted.off(-): The condition is deasserted.flux(~): The condition state is unknown.
For a detailed description of conditions, and how to debug them, see the Finit Conditions document.
