initctl
—
Control tool for Finit
/sbin/initctl |
[ -bcfhjlpqtvV ]
[COMMAND ] |
initctl
is the official tool for interacting
with
finit(8). It
comes with functions for showing status, querying health of services, as well
as editing, enabling and disabling services.
This program follows the usual UNIX command line syntax, with long options
starting with two dashes (`-'). The options are as follows:
-b,
--batch
- Batch mode, no screen size probing. Useful for scripting.
-c,
--create
- Create missing paths (and files) as needed. Useful with the
edit
command.
-f,
--force
- Ignore missing files and arguments, never prompt.
-h,
--help
- Show built-in help text.
-j,
--json
- JSON output in status and
cond commands.
-n,
--noerr
- When scripting
initctl
to stop, start,
restart, or signal a task or service, this option can be used to ignore
error 69 (no such task or service) and instead return 0 (OK).
-1,
--once
- Only one lap in commands like top.
-p,
--plain
- Use plain table headings, no ANSI control characters.
-q,
--quiet
- Silent, only return status of command.
-t,
--no-heading
- Skip table headings.
-v,
--verbose
- Verbose output, where applicable.
-V,
--version
- Show program version.
initctl
debug
- Toggle
finit
(daemon) debug to
/dev/console
initctl
help
- Show built-in help text.
initctl
version
- Show program version.
initctl
ls |
list
- List all
*.conf
files in
/etc/finit.d
initctl
create
CONF
- Create
.conf
in
/etc/finit.d/available.
Piping the contents into initctl
works as
one would expect:
echo "task name:foo /tmp/foo.sh -- Foo logger" | initctl create foo
initctl enable foo
initctl reload
initctl
delete
CONF
- Delete
.conf
in
/etc/finit.d/available
initctl
show
CONF
- Show
.conf
in
/etc/finit.d/available
initctl
edit
CONF
- Edit
.conf
in
/etc/finit.d/available
initctl
touch
CONF
- Change (mark as modified)
.conf
in
/etc/finit.d/available, like
edit this tells
finit
that a configuration has been
changed and is a candidate to be restarted (or SIGHUP'ed) on
initctl reload
initctl
enable
CONF
- Enable
.conf
in
/etc/finit.d/available, i.e., add
symlink in /etc/finit.d/enabled
initctl
disable
CONF
- Disable
.conf
in
/etc/finit.d/enabled, i.e., removes
symlink.
initctl
reload
- Reload
*.conf in
/etc/finit.d, i.e., activates
changes.
initctl
cond
set COND [COND
...
]
- Set (assert) user-defined condition,
+usr/COND
initctl
cond
get COND
- Get (quietly) the status of any condition. Defaults to user-defined
condions, but if a slash is detected, e.g.,
pid/foo
or
net/eth0/exist
, then any condition can
be read.
The command is geared for scripting, check the exit code to get the status
of the condition: 0 - on, 1 - off, 255 - flux. For a more verbose output,
use the -v
option.
initctl
cond
clr | clear
COND [COND ...
]
- Clear (deassert) user-defined condition,
-usr/COND
initctl
cond
status
- Show condition status, default
cond
command. Also supports the -j
option
for detailed JSON output.
initctl
cond
dump
[TYPE
]
- Dump all, or a given type of, conditions and their status. Also supports
the
-j
option for detailed JSON
output.
initctl
ident
[NAME
]
- Display indentities of all run/task/services, or only instances matching
NAME
. A partial string, e.g.,
NAM
, will not match anything.
initctl
log
[NAME
]
- Show ten last Finit, or
NAME
, messages
from syslog.
initctl
start
NAME[:ID]
- Start service by name, with optional ID, e.g.,
initctl start tty:1
initctl
stop
NAME[:ID]
- Stop/Pause a running service by name.
initctl
reload
NAME[:ID]
- Reload service as if its configuration had changed. Internally,
finit
marks the named service as
"dirty" and turns the state machine, resulting in a SIGHUP or
restart of (at least) the named service. Any dependant services are also
restarted.
Note: no .conf file is reloaded with this
variant of the command. Essentially it is the same as calling
restart
. Except for two things:
- if the service supports HUP, it's signaled instead of stop-started,
and
- it allows restarting run/task in the same runlevel -- which is
otherwise restricted.
initctl
signal
NAME:[ID] S
- Send signal S to service, by name.
S
may be a complete signal name such as SIGHUP, or short name such as HUP,
or the signal number such as 1 (SIGHUP).
initctl
restart
NAME[:ID]
- Restart (stop/start) service by name.
initctl
status
NAME[:ID]
- Show service status, by name. If only
NAME
is given and multiple instances
exits, a summary of all matching instances are shown. Only an exact match
displays detailed status for a given instance.
With the -q
option this command is
silent, provided the NAME[:ID] selection
matches a single run/task/service. The exit code of
initctl
is non-zero if there is a
problem. Zero is returned if a run/task has run (at least) once in the
current runlevel, and when a service is running (as expected). See the
-j
option for detailed JSON output
suitable for machine parsing.
Tip:
jq(1) is a useful
scripting tool in combination with JSON output.
initctl
status
- Show status of all services, default command. Also supports the
-j
option for detailed JSON
output.
initctl
cgroup
- List cgroup config overview.
initctl
ps
- List processes based on cgroups.
initctl
top
- Show top-like listing based on cgroups.
initctl
plugins
- List installed plugins.
initctl
runlevel
[0-9
]
- Show or set runlevel: 0 halt, 6 reboot.
If called at boot (runlevel S) to set the runlevel, Finit only schedules the
change, effectively overriding the configured runlevel from
/etc/finit.conf. Useful to trigger a
fail-safe mode, or similar.
initctl
reboot
- Reboot system, default if
reboot
is
symlinked to initctl
.
initctl
halt
- Halt system, default if
halt
is
symlinked to initctl
.
initctl
poweroff
- Power-off system, default if
poweroff
is symlinked to initctl
.
initctl
suspend
- Suspend system, default if
suspend
is
symlinked to initctl
.
initctl
utmp
show
- Raw dump of UTMP/WTMP db.
finit.conf(5)
finit(8)
finit
was conceived and reverse engineered by
Claudio Matsuoka. Since v1.0, maintained by Joachim Wiberg, with contributions
by many others.