summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-07-16 21:31:34 +0200
committerLennart Poettering <lennart@poettering.net>2010-07-16 21:31:34 +0200
commit0ff3dea70038ca4501ab38ad38ecd67d8eea1e00 (patch)
tree4146703acf188dbaad27b7b8ceaa7c4dd95b41bc
parentb15bdda87046f5e46080fd84fda878cba2da0fc8 (diff)
systemctl: always show units with active jobs in list-units output
-rw-r--r--fixme6
-rw-r--r--src/systemctl.c9
2 files changed, 9 insertions, 6 deletions
diff --git a/fixme b/fixme
index b4f82a3c9d..c6978fb186 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 6388d231df..1ded936954 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