ps - Adjust field widths
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 4 Feb 2011 18:38:39 +0000 (10:38 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 4 Feb 2011 18:40:54 +0000 (10:40 -0800)
* Reduce VSZ, RSS, RSZ by one (its still wider than the original but now
  only 6 digits).  We will have to come up with another way to represent
  process sizes >= 1GB.

* Reduce the tty column to 2 chars

bin/ps/keyword.c
bin/ps/print.c

index d1a45e3..ac30cf5 100644 (file)
@@ -87,7 +87,7 @@ static const VAR var[] = {
        {"batch", "BAT", NULL, 0, lpest, NULL, 3, LPOFF(origcpu), UINT, "d", NULL},
        {"blocked", "", "sigmask", 0, NULL, NULL, 0, 0, 0, NULL, NULL},
        {"caught", "", "sigcatch", 0, NULL, NULL, 0, 0, 0, NULL, NULL},
-       {"command", "COMMAND", NULL, COMM|LJUST|USER, command, NULL, 16, 0, 0, NULL,
+       {"command", "CMD", NULL, COMM|LJUST|USER, command, NULL, 16, 0, 0, NULL,
                NULL},
        {"cpu", "CPU", NULL, 0, lpest, NULL, 3, LPOFF(estcpu), UINT, "d", NULL},
        {"cputime", "", "time", 0, NULL, NULL, 0, 0, 0, NULL, NULL},
@@ -160,9 +160,9 @@ static const VAR var[] = {
        {"rlink", "RLINK", NULL, 0, pvar, NULL, 8, POFF(p_lwp.lwp_procq.tqe_prev), KPTR, "lx",
                NULL},
 #endif
-       {"rss", "RSS", NULL, 0, p_rssize, NULL, 7, 0, 0, NULL, NULL},
+       {"rss", "RSS", NULL, 0, p_rssize, NULL, 6, 0, 0, NULL, NULL},
        {"rssize", "", "rsz", 0, NULL, NULL, 0, 0, 0, NULL, NULL},
-       {"rsz", "RSZ", NULL, 0, rssize, NULL, 7, 0, 0, NULL, NULL},
+       {"rsz", "RSZ", NULL, 0, rssize, NULL, 6, 0, 0, NULL, NULL},
        {"rtprio", "RTPRIO", NULL, 0, rtprior, NULL, 7, 0, 0, NULL, NULL},
        {"ruid", "RUID", NULL, 0, pvar, NULL, UIDLEN, POFF(ruid),
                UINT, UIDFMT, NULL},
@@ -179,7 +179,7 @@ static const VAR var[] = {
        {"sl", "SL", NULL, 0, lpvar, NULL, 3, LPOFF(slptime), UINT, "d", NULL},
        {"start", "STARTED", NULL, LJUST|USER, started, NULL, 7, 0, 0, NULL, NULL},
        {"stat", "", "state", 0, NULL, NULL, 0, 0, 0, NULL, NULL},
-       {"state", "STAT", NULL, 0, state, NULL, 7, 0, 0, NULL, NULL},
+       {"state", "STAT  ", NULL, 0, state, NULL, 6, 0, 0, NULL, NULL},
        {"svgid", "SVGID", NULL, 0, pvar, NULL, UIDLEN, POFF(svgid), UINT,
                UIDFMT, NULL},
        {"svuid", "SVUID", NULL, 0, pvar, NULL, UIDLEN, POFF(svuid), UINT,
@@ -193,14 +193,14 @@ static const VAR var[] = {
        {"tsess", "TSESS", NULL, 0, pvar, NULL, 6, POFF(tsid), UINT, PIDFMT, NULL},
        {"tsig", "PENDING", NULL, 0, lpvar, NULL, 8, LPOFF(siglist), INT, "x", NULL},
        {"tsiz", "TSIZ", NULL, 0, tsize, NULL, 4, 0, 0, NULL, NULL},
-       {"tt", "TT ", NULL, 0, tname, NULL, 4, 0, 0, NULL, NULL},
+       {"tt", "TT ", NULL, 0, tname, NULL, 2, 0, 0, NULL, NULL},
        {"tty", "TTY", NULL, LJUST, longtname, NULL, 8, 0, 0, NULL, NULL},
        {"ucomm", "UCOMM", NULL, LJUST, ucomm, NULL, MAXCOMLEN, 0, 0, NULL, NULL},
        {"uid", "UID", NULL, 0, pvar, NULL, UIDLEN, POFF(uid),
                UINT, UIDFMT, NULL},
        {"user", "USER", NULL, LJUST|DSIZ, uname, s_uname, USERLEN, 0, 0, NULL, NULL},
        {"vsize", "", "vsz", 0, 0, NULL, 0, 0, 0, NULL, NULL},
-       {"vsz", "VSZ", NULL, 0, vsize, NULL, 7, 0, 0, NULL, NULL},
+       {"vsz", "VSZ", NULL, 0, vsize, NULL, 6, 0, 0, NULL, NULL},
        {"wchan", "WCHAN", NULL, LJUST, wchan, NULL, 6, 0, 0, NULL, NULL},
        {"xstat", "XSTAT", NULL, 0, pvar, NULL, 7, POFF(exitstat), USHORT, "x", NULL},
        {"", NULL, NULL, 0, NULL, NULL, 0, 0, 0, NULL, NULL},
index 52aee5f..db5545b 100644 (file)
@@ -452,8 +452,20 @@ cputime(const KINFO *k, const struct varent *vent)
        psecs = (psecs + 5000) / 10000;
        secs += psecs / 100;
        psecs = psecs % 100;
-       snprintf(obuff, sizeof(obuff),
-           "%3ld:%02ld%c%02ld", secs/60, secs%60, decimal_point, psecs);
+#if 1
+       if (secs >= 86400) {
+               snprintf(obuff, sizeof(obuff), "%3ldd%02ld:%02ld",
+                       secs / 86400, secs / (60 * 60) % 24, secs / 60 % 60);
+       } else if (secs >= 100 * 60) {
+               snprintf(obuff, sizeof(obuff), "%2ld:%02ld:%02ld",
+                       secs / 60 / 60, secs / 60 % 60, secs % 60);
+       } else
+#endif
+       {
+               snprintf(obuff, sizeof(obuff), "%3ld:%02ld%c%02ld",
+                        secs / 60, secs % 60,
+                        decimal_point, psecs);
+       }
        printf("%*s", vent->width, obuff);
 }