diff options
author | rsc <devnull@localhost> | 2004-04-19 05:51:59 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-04-19 05:51:59 +0000 |
commit | c57a7371ba73df79aecdf64addf4254ef61e6b29 (patch) | |
tree | 401d92954cdb2f57437d1111b2d6622b3985fc33 | |
parent | 88f2c3b0b7cd18669e63d990ee15e8e6486c407d (diff) | |
download | plan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.tar.gz plan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.tar.bz2 plan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.zip |
use os-provided state strings
-rwxr-xr-x | bin/ps | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -23,8 +23,10 @@ BEGIN{ state["X"] = "Moribund"; } -function statestr(s) +function statestr(s, wchan) { + if(wchan != s && wchan != "?") + return wchan; t = state[substr(s, 1, 1)]; if(t == "") return s; @@ -43,6 +45,7 @@ function statestr(s) cputime=$i; i++ mem=$i; i++ stat=$i; i++ + wchan=$i; i++ cmd=$i; i++ if(ENVIRON["all"] == "yes"){ for(; i<=NF; i++) @@ -62,17 +65,17 @@ function statestr(s) sub(/:..$/, "", start); } printf("%-8s %11d %8s %8s %8dK %-8s %s\n", - user, pid, start, cputime, mem, statestr(stat), cmd); + user, pid, start, cputime, mem, statestr(stat, wchan), cmd); } ! case "${SYSNAME:-`uname`}" in SunOS) - /bin/ps -aA -o 'user,pid,stime,time,vsz,s,args' | sed 1d | + /bin/ps -aA -o 'user,pid,stime,time,vsz,s,s,args' | sed 1d | nawk -f /tmp/awk.xxx$$ | sort -n +1 ;; *) - /bin/ps -axww -o 'user,pid,start,time,vsz,stat,command' | sed 1d | + /bin/ps -axww -o 'user,pid,start,time,vsz,stat,wchan,command' | sed 1d | awk -f /tmp/awk.xxx$$ | sort -n +1 ;; esac |