diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-01-20 13:24:24 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-01-20 13:24:24 +0100 |
commit | 0129173ab03994d21a21f9fc1f454faf62b97043 (patch) | |
tree | 975f32b7776e9897aa3f52c4dab64f034bab50a7 | |
parent | e2f3b44cfc8864bfea7c77ff4c383ce9b535f27e (diff) |
systemctl: show process type along process exit codes
-rw-r--r-- | src/systemctl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/systemctl.c b/src/systemctl.c index 2c8c2cf61d..f93f2aa480 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -1615,6 +1615,8 @@ finish: } typedef struct ExecStatusInfo { + char *name; + char *path; char **argv; @@ -1632,6 +1634,7 @@ typedef struct ExecStatusInfo { static void exec_status_info_free(ExecStatusInfo *i) { assert(i); + free(i->name); free(i->path); strv_free(i->argv); free(i); @@ -1850,7 +1853,7 @@ static void print_status_info(UnitStatusInfo *i) { continue; t = strv_join(p->argv, " "); - printf("\t Process: %u (%s, code=%s, ", p->pid, strna(t), sigchld_code_to_string(p->code)); + printf("\t Process: %u %s=%s (code=%s, ", p->pid, p->name, strna(t), sigchld_code_to_string(p->code)); free(t); if (p->code == CLD_EXITED) { @@ -2083,6 +2086,11 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn if (!(info = new0(ExecStatusInfo, 1))) return -ENOMEM; + if (!(info->name = strdup(name))) { + free(info); + return -ENOMEM; + } + if ((r = exec_status_info_deserialize(&sub, info)) < 0) { free(info); return r; |