diff --git a/man/systemd-cgls.xml b/man/systemd-cgls.xml
index 4b5449e71cf..794ff868f97 100644
--- a/man/systemd-cgls.xml
+++ b/man/systemd-cgls.xml
@@ -106,17 +106,20 @@
+
Controls whether to include information about extended attributes of the listed
- control groups in the output. Expects a boolean value. Defaults to no.
+ control groups in the output. With the long option, expects a boolean value. Defaults to no.
+
+
Controls whether to include the numeric ID of the listed control groups in the
- output. Expects a boolean value. Defaults to no.
+ output. With the long option, expects a boolean value. Defaults to no.
diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
index a0c0d291169..32780c606a8 100644
--- a/src/cgls/cgls.c
+++ b/src/cgls/cgls.c
@@ -54,11 +54,11 @@ static int help(void) {
" -a --all Show all groups, including empty\n"
" -u --unit Show the subtrees of specified system units\n"
" --user-unit Show the subtrees of specified user units\n"
- " --xattr=BOOL Show cgroup extended attributes\n"
- " --cgroup-id=BOOL Show cgroup ID\n"
+ " -x --xattr=BOOL Show cgroup extended attributes\n"
+ " -c --cgroup-id=BOOL Show cgroup ID\n"
" -l --full Do not ellipsize output\n"
" -k Include kernel threads in output\n"
- " -M --machine= Show container\n"
+ " -M --machine=NAME Show container NAME\n"
"\nSee the %s for details.\n",
program_invocation_short_name,
link);
@@ -72,8 +72,6 @@ static int parse_argv(int argc, char *argv[]) {
ARG_NO_PAGER = 0x100,
ARG_VERSION,
ARG_USER_UNIT,
- ARG_XATTR,
- ARG_CGROUP_ID,
};
static const struct option options[] = {
@@ -85,8 +83,8 @@ static int parse_argv(int argc, char *argv[]) {
{ "machine", required_argument, NULL, 'M' },
{ "unit", optional_argument, NULL, 'u' },
{ "user-unit", optional_argument, NULL, ARG_USER_UNIT },
- { "xattr", required_argument, NULL, ARG_XATTR },
- { "cgroup-id", required_argument, NULL, ARG_CGROUP_ID },
+ { "xattr", required_argument, NULL, 'x' },
+ { "cgroup-id", required_argument, NULL, 'c' },
{}
};
@@ -95,7 +93,7 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 1);
assert(argv);
- while ((c = getopt_long(argc, argv, "-hkalM:u::", options, NULL)) >= 0)
+ while ((c = getopt_long(argc, argv, "-hkalM:u::xc", options, NULL)) >= 0)
switch (c) {
@@ -143,18 +141,24 @@ static int parse_argv(int argc, char *argv[]) {
arg_machine = optarg;
break;
- case ARG_XATTR:
- r = parse_boolean(optarg);
- if (r < 0)
- return log_error_errno(r, "Failed to parse --xattr= value: %s", optarg);
+ case 'x':
+ if (optarg) {
+ r = parse_boolean(optarg);
+ if (r < 0)
+ return log_error_errno(r, "Failed to parse --xattr= value: %s", optarg);
+ } else
+ r = true;
SET_FLAG(arg_output_flags, OUTPUT_CGROUP_XATTRS, r);
break;
- case ARG_CGROUP_ID:
- r = parse_boolean(optarg);
- if (r < 0)
- return log_error_errno(r, "Failed to parse --cgroup-id= value: %s", optarg);
+ case 'c':
+ if (optarg) {
+ r = parse_boolean(optarg);
+ if (r < 0)
+ return log_error_errno(r, "Failed to parse --cgroup-id= value: %s", optarg);
+ } else
+ r = true;
SET_FLAG(arg_output_flags, OUTPUT_CGROUP_ID, r);
break;