From 0ff3dea70038ca4501ab38ad38ecd67d8eea1e00 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 16 Jul 2010 21:31:34 +0200 Subject: [PATCH] systemctl: always show units with active jobs in list-units output --- fixme | 6 ++---- src/systemctl.c | 9 +++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/fixme b/fixme index b4f82a3c9..c6978fb18 100644 --- a/fixme +++ b/fixme @@ -35,8 +35,6 @@ * systemctl status $PID, systemctl stop $PID! -* systemctl list-units doesn't show units with actvie jobs? - * timeout waiting for mount devices? * default logic for serial getty, ck logging, ssh readahead @@ -61,14 +59,14 @@ * vielleicht implizit immer auf syslog dependen? -* für selinux muss der socket wissen was für service geexeced wird. - * debian deadlock when partition auf noauto is. * maintenance units müssen vergessen werden * maintenance muss dokumentiert werden +* fingerprint.target, smartcard.target, wireless.target, gps.target + External: * patch /etc/init.d/functions with: diff --git a/src/systemctl.c b/src/systemctl.c index 6388d231d..1ded93695 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -218,7 +218,7 @@ static int list_units(DBusConnection *bus, char **args, unsigned n) { if ((!arg_type || ((dot = strrchr(id, '.')) && streq(dot+1, arg_type))) && - (arg_all || !streq(active_state, "inactive"))) { + (arg_all || !streq(active_state, "inactive") || job_id > 0)) { int a = 0, b = 0; @@ -228,7 +228,7 @@ static int list_units(DBusConnection *bus, char **args, unsigned n) { printf("%-45s %-6s %-12s %-12s%n", id, load_state, active_state, sub_state, &a); if (job_id != 0) - printf(" %-15s%n", job_type, &b); + printf(" => %-12s%n", job_type, &b); else b = 1 + 15; @@ -249,6 +249,11 @@ static int list_units(DBusConnection *bus, char **args, unsigned n) { dbus_message_iter_next(&sub); } + printf("\nLOAD = Load State, reflects whether the unit configuration was properly loaded.\n" + "ACTIVE = Active State, the high-level unit activation state, i.e. generalization of the substate.\n" + "SUB = Substate, the low-level unit activation state, possible values depend on unit type.\n" + "JOB = Job, shows scheduled jobs for the unit.\n"); + if (arg_all) printf("\n%u units listed.\n", k); else -- 2.30.2