mirror of
https://github.com/troglobit/finit.git
synced 2026-10-09 16:50:59 +07:00
58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
Starting & Monitoring
|
|
=====================
|
|
|
|
Finit can start and monitor the following types of daemons:
|
|
|
|
* Forks to background, creates a PID file
|
|
* Runs in foreground and signals ready by:
|
|
- creating a PID file
|
|
- does not create a PID file -- Finit can create it for you (optional)
|
|
- [other mechanism][1] (systemd, s6)
|
|
|
|
Finit can *not* start and monitor a daemon that:
|
|
|
|
* Forks to background and does *not* create a PID file
|
|
|
|
| | Forking | Creates PID File | Finit creates PID File |
|
|
|---|---------|------------------|------------------------|
|
|
| ✔ | Yes | Yes | No |
|
|
| ✔ | No | Yes | No |
|
|
| ✔ | No | No | Yes, optionally |
|
|
| ✘ | Yes | No | No |
|
|
|
|
> [!NOTE]
|
|
> PID files is one mechanism used to assert conditions to synchronize
|
|
> the start and stop of other, dependent, services. Other mechanisms
|
|
> are described in the [Service Synchronization][1] section.
|
|
|
|
### Forks to bg w/ PID file
|
|
|
|
There are two syntax variants, type 1 and type 2. The former is the
|
|
traditional one used also for `sysv` start/stop scripts, and the latter
|
|
is inspired by systemd, with a twist -- it lets Finit guess the pifdile
|
|
to look for based on the standard path and the basename of the command.
|
|
|
|
service pid:!/run/serv.pid serv -- Forking service, type 1
|
|
service type:forking serv -- Forking service, type 2
|
|
|
|
In this example the resulting files to watch for are `/run/serv.pid` and
|
|
`/var/run/serv.pid`, respectively. On most modern Linux systems this is
|
|
the same directory (`/var/run` is a symlink to `../run`).
|
|
|
|
### Runs in fg w/ PID file
|
|
|
|
service serv -n -p -- Foreground service w/ PID file
|
|
|
|
### Runs in fg w/o PID file
|
|
|
|
Same as previous, but we tell Finit to create the PID file, because we
|
|
need it to synchronize start/stop of a dependent service.
|
|
|
|
service pid:/run/serv.pid serv -n -- Foreground service w/o PID file
|
|
|
|
### Runs in fg w/ custom PID file
|
|
|
|
service pid:/run/servy.pid serv -n -p -P /run/servy.pid -- Foreground service w/ custom PID file
|
|
|
|
[1]: config/service-sync.md
|