chiark / gitweb /
systemctl: always show units with active jobs in list-units output
authorLennart Poettering <lennart@poettering.net>
Fri, 16 Jul 2010 19:31:34 +0000 (21:31 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 16 Jul 2010 19:31:34 +0000 (21:31 +0200)
fixme
src/systemctl.c

diff --git a/fixme b/fixme
index b4f82a3..c6978fb 100644 (file)
--- 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
 
 * 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:
index 6388d23..1ded936 100644 (file)
@@ -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