<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="systemd-cgls"
    xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>systemd-cgls</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-cgls</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-cgls</refname>
    <refpurpose>Recursively show control group contents</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>systemd-cgls</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
      <arg choice="opt" rep="repeat">CGROUP</arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>systemd-cgls</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
      <arg choice="plain"><option>--unit</option>|<option>--user-unit</option></arg>
      <arg choice="opt" rep="repeat">UNIT</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>systemd-cgls</command> recursively shows the
    contents of the selected Linux control group hierarchy in a tree.
    If arguments are specified, shows all member processes of the
    specified control groups plus all their subgroups and their
    members. The control groups may either be specified by their full
    file paths or are assumed in the systemd control group hierarchy.
    If no argument is specified and the current working directory is
    beneath the control group mount point
    <filename>/sys/fs/cgroup/</filename>, shows the contents of the
    control group the working directory refers to. Otherwise, the full
    systemd control group hierarchy is shown.</para>

    <para>By default, empty control groups are not shown.</para>
  </refsect1>

  <refsect1>
    <title>Options</title>

    <para>The following options are understood:</para>

    <variablelist>
      <varlistentry>
        <term><option>--all</option></term>

        <listitem><para>Do not hide empty control groups in the
        output.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-l</option></term>
        <term><option>--full</option></term>

        <listitem><para>Do not ellipsize process tree members.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-u</option></term>
        <term><option>--unit</option></term>

        <listitem><para>Show cgroup subtrees for the specified units.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--user-unit</option></term>

        <listitem><para>Show cgroup subtrees for the specified user units.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-k</option></term>

        <listitem><para>Include kernel threads in output.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-M <replaceable>MACHINE</replaceable></option></term>
        <term><option>--machine=<replaceable>MACHINE</replaceable></option></term>

        <listitem><para>Limit control groups shown to the part
        corresponding to the container
        <replaceable>MACHINE</replaceable>.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--xattr=</option></term>

        <listitem><para>Controls whether to include information about extended attributes of the listed
        control groups in the output. Expects a boolean value, defaults to yes.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--cgroup-id=</option></term>

        <listitem><para>Controls whether to include the numeric ID of the listed control groups in the
        output. Expects a boolean value, defaults to yes.</para></listitem>
      </varlistentry>

      <xi:include href="standard-options.xml" xpointer="help" />
      <xi:include href="standard-options.xml" xpointer="version" />
      <xi:include href="standard-options.xml" xpointer="no-pager" />
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Exit status</title>

    <para>On success, 0 is returned, a non-zero failure code
    otherwise.</para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-cgtop</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
