INITCTL(8) | System Manager's Manual (smm) | INITCTL(8) |
NAME¶
initctl
— Control
tool for Finit
SYNOPSIS¶
/sbin/initctl |
[-bcfhjlpqtvV ] [COMMAND] |
DESCRIPTION¶
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.
OPTIONS¶
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.
COMMANDS¶
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 tellsfinit
that a configuration has been changed and is a candidate to be restarted (or SIGHUP'ed) oninitctl 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
ornet/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
startNAME[:ID]
- Start service by name, with optional ID, e.g.,
initctl start tty:1
initctl
stopNAME[:ID]
- Stop/Pause a running service by name.
initctl
reloadNAME[: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
signalNAME:[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
restartNAME[:ID]
- Restart (stop/start) service by name.
initctl
statusNAME[: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 ofinitctl
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 toinitctl
. initctl
halt- Halt system, default if
halt
is symlinked toinitctl
. initctl
poweroff- Power-off system, default if
poweroff
is symlinked toinitctl
. initctl
suspend- Suspend system, default if
suspend
is symlinked toinitctl
. initctl
utmp show- Raw dump of UTMP/WTMP db.
SEE ALSO¶
AUTHORS¶
finit
was conceived and reverse engineered
by Claudio Matsuoka. Since v1.0, maintained by Joachim Wiberg, with
contributions by many others.
June 6, 2021 | Linux |