doc: Add service state machine documentation

This commit is contained in:
Tobias Waldekranz
2016-01-07 11:00:51 +01:00
parent 5b28fed321
commit 7fe4c3355f
2 changed files with 26 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# Services
## State Machine
![A service's state machine](svc-machine.png "A service's 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: 16 KiB