aboutsummaryrefslogtreecommitdiff
path: root/src/progman.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/progman.c')
-rw-r--r--src/progman.c58
1 files changed, 45 insertions, 13 deletions
diff --git a/src/progman.c b/src/progman.c
index 1235d81..89be1f5 100644
--- a/src/progman.c
+++ b/src/progman.c
@@ -2056,42 +2056,74 @@ progman_dump_stats (const char *filename)
for (prog = proghead; prog; prog = prog->next)
{
int i;
+ char fbuf[5];
+ int fidx = 0;
+ fprintf (fp, "%-16s ", prog->tag);
switch (prog->type)
{
case TYPE_COMPONENT:
- fprintf (fp, "component %s ", prog->tag);
+ fbuf[fidx++] = 'C';
+ if (prog->v.p.comp->mode == pies_comp_inetd
+ && prog->v.p.listener)
+ fbuf[fidx++] = 'i';
+
if (prog->pid)
{
- fprintf (fp, "%lu", (unsigned long) prog->pid);
if (prog->v.p.status == status_stopping)
- fprintf (fp, " (stopping)");
+ fbuf[fidx++] = 'S';
+ else
+ fbuf[fidx++] = 'R';
}
else if (prog->v.p.status == status_sleeping)
{
- time_t t = prog->v.p.timestamp + SLEEPTIME;
- fprintftime (fp, _("[disabled; scheduled for %c]"),
- localtime (&t), 0, 0);
+ fbuf[fidx++] = 's';
}
else if (prog->v.p.status == status_disabled)
- fprintf (fp, _("[disabled]"));
+ fbuf[fidx++] = 'D';
else if (prog->v.p.status == status_listener)
- fprintf (fp, _("[listener]"));
+ fbuf[fidx++] = 'I';
+ break;
+
+ case TYPE_REDIRECTOR:
+ fbuf[fidx++] = 'R';
+ break;
+
+ case TYPE_COMMAND:
+ fbuf[fidx++] = 'E';
+ }
+ fbuf[fidx++] = 0;
+ fprintf (fp, "%-8.8s ", fbuf);
+
+ switch (prog->type)
+ {
+ case TYPE_COMPONENT:
+ if (prog->pid)
+ fprintf (fp, "%10lu ", (unsigned long) prog->pid);
+ else if (prog->v.p.status == status_listener
+ && prog->v.p.comp->socket_url)
+ fprintf (fp, "%-10s ", prog->v.p.comp->socket_url->string);
else
- fprintf (fp, _("[not running]"));
+ fprintf (fp, "%-10s ", "N/A");
+
+ if (prog->v.p.status == status_sleeping)
+ {
+ time_t t = prog->v.p.timestamp + SLEEPTIME;
+ fprintftime (fp, "%H:%M:%S", localtime (&t), 0, 0);
+ }
+
for (i = 0; i < prog->v.p.comp->argc; i++)
fprintf (fp, " %s", quotearg (prog->v.p.comp->argv[i]));
- fputc ('\n', fp);
break;
case TYPE_REDIRECTOR:
- fprintf (fp, _("redirector %s %lu\n"), prog->tag,
- (unsigned long) prog->pid);
+ fprintf (fp, "%10lu ", (unsigned long) prog->pid);
break;
case TYPE_COMMAND:
- fprintf (fp, _("command %s: %s\n"), prog->tag, prog->v.c.command);
+ fprintf (fp, "%s", prog->v.c.command);
}
+ fputc ('\n', fp);
}
fclose (fp);
unlink (filename);

Return to:

Send suggestions and report system problems to the System administrator.