#!/bin/ksh -p
# ps improved (slightly). With no args displays user's own processes.
# Known to be system dependant!

if (($# > 1)) ; then
  print "Usage: `basename $0` [username]"
  exit 1
fi

u=$USER

if (($# == 1)) ; then
    w=$(w | grep -c $1)
    if ((w < 1)) ; then
        print "$(basename $0): User $1 not on $(hostname)."
        exit 2
    fi
    u=$1
fi

ps -fu $u |\
\
awk '{\
    split($0, argv); \
    printf "%10s %6s %6s %8s ", $1, $2, $3, $6; \
    for (i=8 ; argv[i] != "" ; i++) printf argv[i]" "; \
    printf "\n"; \
}'\
\
| sort -n | grep -v "$$"
