#!/bin/sh

I_WANT_A_BROKEN_PS=yes
export I_WANT_A_BROKEN_PS
all=no
if [ "x$1" = "x-a" ]
then
	all=yes
fi
export all

cat >/tmp/awk.xxx$$ <<'!'
BEGIN{
	state["D"] = "Spinwait";
	state["I"] = "Idle";
	state["J"] = "Jail";
	state["R"] = "Ready";
	state["O"] = "Running";
	state["S"] = "Sleep";
	state["T"] = "Stopped";
	state["Z"] = "Zombie";
	state["W"] = "Fault";
	state["X"] = "Moribund";
}

function statestr(s)
{
	t = state[substr(s, 1, 1)];
	if(t == "")
		return s;
	return t;
}

# rsc  36706   starttime 0:00.17  1076 Is+  -bash (bash)
{
	i=1
	user=$i; i++
	pid=$i; i++
	start=$i; i++
	if(start ~ /^[A-Z][a-z][a-z]$/){
		start = start "-" $i; i++
	}
	cputime=$i; i++
	mem=$i; i++
	stat=$i; i++
	cmd=$i; i++	
	if(ENVIRON["all"] == "yes"){
		for(; i<=NF; i++)
			cmd = cmd " " $i;
	}else{
		sub(/.*\//, "", cmd);
		sub(/:$/, "", cmd);
		sub(/^-/, "", cmd);
		s = " " cmd;
	}
	sub(/\.[0-9][0-9]$/, "", cputime);	# drop .hundredths of second
	if(cputime ~ /..:..:../){	# convert hh:mm:ss into mm:ss
		split(cputime, a, ":");
		cputime = sprintf("%d:%02d", a[1]*60+a[2], a[3]);
	}
	if(start ~ /..:..:../){	# drop :ss
		sub(/:..$/, "", start);
	}
	printf("%-8s  %11d %8s %8s %8dK %-8s %s\n",
		user, pid, start, cputime, mem, statestr(stat), cmd);
}
!

case "${SYSNAME:-`uname`}" in 
SunOS)
	/bin/ps -aA -o 'user,pid,stime,time,vsz,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 |
		awk -f /tmp/awk.xxx$$ | sort -n +1
	;;
esac

rm -f /tmp/awk.xxx$$

