: ########################################################################## # Title : top - show list of active processes # Author : Heiner Steven # Date : 1994-05-05 # Requires : # Category : System Administration # SCCS-Id. : @(#) top 1.2 03/12/19 ########################################################################## # Description # ########################################################################## PN=`basename "$0"` # Program name VER='1.2' Tmp=${TMPDIR:-/tmp}/top$$ # Temporary file if [ -x /usr/ucb/ps ] then PS=/usr/ucb/ps else PS=ps fi if $PS aux >/dev/null 2>&1 then # BSD ps DefPsArgs=aux else # SYSV ps DefPsArgs=-ef fi usage () { echo >&2 "$PN - show top cpu processes, Version $VER (stv '94) usage: $PN [-] [lines [interval]] ps_opt: options for ps (default is $DefPsArgs) The default for the number of lines is 20, the default interval is 3 seconds." exit 1 } while [ $# -gt 0 ] do case "$1" in --) shift; break;; -h) usage;; -*) PsArgs="$1";; *) break;; # number of lines esac shift done : ${PsArgs:=${DefPsArgs}} Lines=${1:-20} # Number of lines to display Interval=${2:-3} # Time interval (in seconds) # Remove temporary file at exit or signal trap "rm -f $Tmp" 0 trap "exit 1" 1 2 3 15 while true do # Temporary file is not necessary but faster $PS $PsArgs > $Tmp clear head -$Lines $Tmp sleep $Interval done