aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-04-19 05:51:59 +0000
committerrsc <devnull@localhost>2004-04-19 05:51:59 +0000
commitc57a7371ba73df79aecdf64addf4254ef61e6b29 (patch)
tree401d92954cdb2f57437d1111b2d6622b3985fc33 /bin
parent88f2c3b0b7cd18669e63d990ee15e8e6486c407d (diff)
downloadplan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.tar.gz
plan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.tar.bz2
plan9port-c57a7371ba73df79aecdf64addf4254ef61e6b29.zip
use os-provided state strings
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ps11
1 files changed, 7 insertions, 4 deletions
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