diff -ru procps-ng-3.3.14/proc/whattime.c procps-ng-3.3.14-bsfc/proc/whattime.c --- procps-ng-3.3.14/proc/whattime.c 2018-03-03 02:11:55.690869414 -0500 +++ procps-ng-3.3.14-bsfc/proc/whattime.c 2018-05-31 19:16:01.789935336 -0400 @@ -43,7 +43,7 @@ char *sprint_uptime(int human_readable) { struct utmp *utmpstruct; - int upminutes, uphours, updays, upweeks, upyears, updecades; + int upseconds, upminutes, uphours, updays, upweeks, upyears, updecades; int pos; int comma; struct tm *realtime; @@ -87,12 +87,13 @@ uphours = upminutes / 60; uphours = uphours % 24; upminutes = upminutes % 60; + upseconds = uptime_secs - (uphours * 60 * 60) - (upminutes * 60); if (!human_readable) { if(uphours) - pos += sprintf(buf + pos, "%2d:%02d, ", uphours, upminutes); + pos += sprintf(buf + pos, "%2d:%02d:%02d, ", uphours, upminutes, upseconds); else - pos += sprintf(buf + pos, "%d min, ", upminutes); + pos += sprintf(buf + pos, "%dm%02ds, ", upminutes, upseconds); /* count the number of users */ @@ -151,6 +152,12 @@ upminutes != 1 ? "minutes" : "minute"); comma += 1; } + + if (upseconds) { + pos += sprintf(buf + pos, "%s%d %s", comma > 0 ? ", " : "", upseconds, + upseconds > 1 ? "seconds" : "second"); + comma += 1; + } } return buf; Only in procps-ng-3.3.14-bsfc/proc: whattime.c.orig