From c57a7371ba73df79aecdf64addf4254ef61e6b29 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 19 Apr 2004 05:51:59 +0000 Subject: use os-provided state strings --- bin/ps | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'bin/ps') diff --git a/bin/ps b/bin/ps index d7e0767f..25384ccb 100755 --- a/bin/ps +++ b/bin/ps @@ -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 -- cgit v1.2.3