mirror of
https://github.com/troglobit/finit.git
synced 2026-10-28 12:30:44 +00:00
The syntax overview no longer describes a line-based format, since that is not what the rest of the documentation shows. It now covers the grammar, the two naming conventions, the nine aliases, and the leading '-' on a path, and it says plainly that both formats are still read and told apart per file by content. Without that, a reader with an existing configuration is left wondering what happened to it. service-opts.md was a list of modifiers to place between a directive and its command, so it needed rewriting rather than translating: there are no positions left to describe. It is now grouped by what the settings do. conditions.md needed correcting. It presented '!' as a condition prefix alongside '~'. It is neither a condition nor a negation, it is a flag on the block that means one thing on a service and another on a run or task, so it is spelled reload-signal and required here, and the page maps the old form to both. Two things the pages claimed are not true. The kill delay range is 1-300, not 1-60, and stop and reload scripts are no longer run without a timeout. ChangeLog.md keeps its line-based examples. Those sit in historical release entries, and rewriting them in a syntax that did not exist at the time would misdate the format. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
1.1 KiB
1.1 KiB
Service Wrapper Scripts
If your service requires to run additional commands, executed before the
service is actually started, like the systemd ExecStartPre, you can
use a wrapper shell script to start your service.
The Finit service .conf file can be put into /etc/finit.d/available,
so you can control the service using initctl. Then use the path to
the wrapper script in the Finit .conf service stanza. The following
example employs a wrapper script in /etc/start.d.
Example:
-
/etc/finit.d/available/program.conf:service program { description = "Example Program" runlevel = "235" reload-signal = "none" command = "/etc/start.d/program" } -
/etc/start.d/program:#!/bin/sh # Prepare the command line options OPTIONS="-u $(cat /etc/username)" # Execute the program exec /usr/bin/program $OPTIONS
Note
The example sets
<!>to denote that it doesn't supportSIGHUP. That way Finit will stop/start the service instead of sending SIGHUP at restart/reload events.