aboutsummaryrefslogtreecommitdiff
path: root/bin/ps
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-10-19 03:15:30 +0000
committerrsc <devnull@localhost>2005-10-19 03:15:30 +0000
commitfc165dcb3eb3f6d5994903ae7f9cb91c9f598cef (patch)
tree282736afb584c2b001381f180385f11eae8ddeb7 /bin/ps
parentf810f8a5b03247430f1d7b219f83bfe31eaeee02 (diff)
downloadplan9port-fc165dcb3eb3f6d5994903ae7f9cb91c9f598cef.tar.gz
plan9port-fc165dcb3eb3f6d5994903ae7f9cb91c9f598cef.tar.bz2
plan9port-fc165dcb3eb3f6d5994903ae7f9cb91c9f598cef.zip
Autoframework (Jeff Sickel)
Diffstat (limited to 'bin/ps')
-rwxr-xr-xbin/ps18
1 files changed, 17 insertions, 1 deletions
diff --git a/bin/ps b/bin/ps
index 7a8cd4e4..d6f44d9b 100755
--- a/bin/ps
+++ b/bin/ps
@@ -64,9 +64,25 @@ function statestr(s, wchan)
if(start ~ /..:..:../){ # drop :ss
sub(/:..$/, "", start);
}
- printf("%-8s %11d %8s %8s %8dK %-8s %s\n",
+ sub(/[ ]+$/, "", cmd);
+ line[0+nline++] = sprintf("%s\001%d\001%s\001%s\001%dK\001%s\001%s",
user, pid, start, cputime, mem, statestr(stat, wchan), cmd);
}
+
+END{
+ for(i=0; i<nline; i++){
+ split(line[i], a, "\001");
+ for(j=1; j<=7; j++)
+ if(length(a[j]) > max[j])
+ max[j] = length(a[j]);
+ }
+ for(i=0; i<nline; i++){
+ split(line[i], a, "\001");
+ printf("%-*s %*s %*s %*s %*s %-*s %s\n",
+ max[1], a[1], max[2], a[2], max[3], a[3], max[4], a[4],
+ max[5], a[5], max[6], a[6], a[7]);
+ }
+}
!
case "${SYSNAME:-`uname`}" in