1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6 This file is part of systemd.
8 Copyright 2013 Zbigniew Jędrzejewski-Szmek
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 <refentry id="machinectl" conditional='ENABLE_MACHINED'
25 xmlns:xi="http://www.w3.org/2001/XInclude">
28 <title>machinectl</title>
29 <productname>systemd</productname>
33 <contrib>Developer</contrib>
34 <firstname>Lennart</firstname>
35 <surname>Poettering</surname>
36 <email>lennart@poettering.net</email>
42 <refentrytitle>machinectl</refentrytitle>
43 <manvolnum>1</manvolnum>
47 <refname>machinectl</refname>
48 <refpurpose>Control the systemd machine manager</refpurpose>
53 <command>machinectl</command>
54 <arg choice="opt" rep="repeat">OPTIONS</arg>
55 <arg choice="req">COMMAND</arg>
56 <arg choice="opt" rep="repeat">NAME</arg>
61 <title>Description</title>
63 <para><command>machinectl</command> may be used to
64 introspect and control the state of the
65 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
66 virtual machine and container registration manager <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
70 <title>Options</title>
72 <para>The following options are understood:</para>
76 <term><option>-p</option></term>
77 <term><option>--property=</option></term>
79 <listitem><para>When showing
80 machine properties, limit the
81 output to certain properties as
82 specified by the argument. If not
83 specified, all set properties are
84 shown. The argument should be a
85 property name, such as
86 <literal>Name</literal>. If
87 specified more than once, all
88 properties with the specified names
89 are shown.</para></listitem>
93 <term><option>-a</option></term>
94 <term><option>--all</option></term>
96 <listitem><para>When showing
97 machine properties, show all
98 properties regardless of whether they are
99 set or not.</para></listitem>
103 <term><option>-l</option></term>
104 <term><option>--full</option></term>
106 <listitem><para>Do not ellipsize
107 process tree entries.</para>
112 <term><option>--kill-who=</option></term>
114 <listitem><para>When used with
115 <command>kill</command>,
116 choose which processes to kill. Must
117 be one of <option>leader</option>, or
118 <option>all</option> to select whether
119 to kill only the leader process of the
120 machine or all processes of the
121 machine. If omitted, defaults to
122 <option>all</option>.</para></listitem>
126 <term><option>-s</option></term>
127 <term><option>--signal=</option></term>
129 <listitem><para>When used with
130 <command>kill</command>, choose
131 which signal to send to selected
132 processes. Must be one of the
133 well-known signal specifiers, such as
134 <constant>SIGTERM</constant>,
135 <constant>SIGINT</constant> or
136 <constant>SIGSTOP</constant>. If
138 <constant>SIGTERM</constant>.</para></listitem>
142 <term><option>--no-legend</option></term>
144 <listitem><para>Do not print the legend,
145 i.e. the column headers and the
146 footer.</para></listitem>
150 <term><option>--mkdir</option></term>
152 <listitem><para>When used with
153 <command>bind</command> creates the
154 destination directory before applying
155 the bind mount.</para></listitem>
160 <term><option>--read-only</option></term>
162 <listitem><para>When used with
163 <command>bind</command> applies a
165 mount.</para></listitem>
168 <xi:include href="user-system-options.xml" xpointer="host" />
169 <xi:include href="user-system-options.xml" xpointer="machine" />
171 <xi:include href="standard-options.xml" xpointer="help" />
172 <xi:include href="standard-options.xml" xpointer="version" />
173 <xi:include href="standard-options.xml" xpointer="no-pager" />
176 <para>The following commands are understood:</para>
180 <term><command>list</command></term>
182 <listitem><para>List currently running
183 virtual machines and containers.
188 <term><command>status</command> <replaceable>NAME</replaceable>...</term>
190 <listitem><para>Show terse runtime
191 status information about one or more
192 virtual machines and containers. This
193 function is intended to generate
194 human-readable output. If you are
195 looking for computer-parsable output,
196 use <command>show</command> instead.
201 <term><command>show</command> <replaceable>NAME</replaceable>...</term>
203 <listitem><para>Show properties of one
204 or more registered virtual machines or
205 containers or the manager itself. If
206 no argument is specified, properties
207 of the manager will be shown. If an
208 NAME is specified, properties of this
209 virtual machine or container are
210 shown. By default, empty properties
212 <option>--all</option> to show those
213 too. To select specific properties to
215 <option>--property=</option>. This
216 command is intended to be used
217 whenever computer-parsable output is
219 <command>status</command> if you are
220 looking for formatted human-readable
221 output.</para></listitem>
225 <term><command>login</command> <replaceable>NAME</replaceable></term>
227 <listitem><para>Open a terminal login
228 session to a container. This will
229 create a TTY connection to a specific
230 container and asks for the execution of a
231 getty on it. Note that this is only
232 supported for containers running
233 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
234 as init system.</para></listitem>
238 <term><command>reboot</command> <replaceable>NAME</replaceable>...</term>
240 <listitem><para>Reboot one or more
241 containers. This will trigger a reboot
242 by sending SIGINT to the container's
243 init process, which is roughly
244 equivalent to pressing Ctrl+Alt+Del on
245 a non-containerized system, and is
246 compatible with containers running any
247 init system.</para></listitem>
251 <term><command>poweroff</command> <replaceable>NAME</replaceable>...</term>
253 <listitem><para>Power off one or more
254 containers. This will trigger a reboot
255 by sending SIGRTMIN+4 to the
256 container's init process, which causes
257 systemd-compatible init systems to
258 shut down cleanly. This operation does
259 not work on containers that do not run
261 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>-compatible
263 sysvinit.</para></listitem>
267 <term><command>kill</command> <replaceable>NAME</replaceable>...</term>
269 <listitem><para>Send a signal to one
270 or more processes of the virtual
271 machine or container. This means
272 processes as seen by the host, not the
273 processes inside the virtual machine
275 Use <option>--kill-who=</option> to
276 select which process to kill. Use
277 <option>--signal=</option> to select
278 the signal to send.</para></listitem>
282 <term><command>terminate</command> <replaceable>NAME</replaceable>...</term>
284 <listitem><para>Terminates a virtual
285 machine or container. This kills all
286 processes of the virtual machine or
287 container and deallocates all
288 resources attached to that
289 instance.</para></listitem>
293 <term><command>bind</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
295 <listitem><para>Bind mounts a
296 directory from the host into the
297 specified container. The first
298 directory argument is the source
299 directory on the host, the second
300 directory argument the source
301 directory on the host. When the latter
302 is omitted the destination path in the
303 container is the same as the source
304 path on the host. When combined with
305 the <option>--read-only</option>
306 switch a ready-only bind mount is
307 created. When combined with the
308 <option>--mkdir</option> switch the
309 destination path is first created
310 before the mount is applied. Note that
311 this option is currently only
313 <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>
314 containers.</para></listitem>
318 <term><command>copy-to</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
320 <listitem><para>Copies files or
321 directories from the host system into
322 a running container. Takes a container
323 name, followed by the source path on
324 the host and the destination path in
325 the container. If the destination path
326 is omitted the same as the source path
327 is used.</para></listitem>
332 <term><command>copy-from</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
334 <listitem><para>Copies files or
335 directories from a container into the
336 host system. Takes a container name,
337 followed by the source path in the
338 container the destination path on the
339 host. If the destination path is
340 omitted the same as the source path is
341 used.</para></listitem>
349 <title>Exit status</title>
351 <para>On success, 0 is returned, a non-zero failure
352 code otherwise.</para>
355 <xi:include href="less-variables.xml" />
358 <title>See Also</title>
360 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
361 <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
362 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>