mirror of
https://github.com/troglobit/finit.git
synced 2026-11-06 15:51:03 +00:00
doc: Add service state machine documentation
This commit is contained in:
1 parent
5b28fed321
commit
7fe4c3355f
2 files changed
+26
No files matched your search
@@ -0,0 +1,26 @@
|
|||||||
|
# Services
|
||||||
|
|
||||||
|
## State Machine
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A service is bound to a state machine that is in one of six (6)
|
||||||
|
states. For `run`s and `task`s there is an additional end state called
|
||||||
|
`DONE`, not shown in the diagram for brevity. All services start in
|
||||||
|
the `HALTED` state.
|
||||||
|
|
||||||
|
The current state depends on the two following conditions:
|
||||||
|
|
||||||
|
* `E`: Service enabled. In order for `E` to be satisfied, the service
|
||||||
|
must be allowed to run in the current runlevel and must not be
|
||||||
|
blocked. A service may be blocked for several reasons:
|
||||||
|
|
||||||
|
- The user has manually stopped the service using `initctl stop
|
||||||
|
JOB`.
|
||||||
|
|
||||||
|
- The binary repeatedly dies after being started. I.e. keeps
|
||||||
|
crashing.
|
||||||
|
|
||||||
|
- The binary is missing in the filesystem.
|
||||||
|
|
||||||
|
* `C`: Service conditions are satisfied.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Reference in new issue
Block a user