#!/bin/sh
# System Information
# Created: 07 April 2000
#      by:
#
# 23July2002 jah - send error on uptime and ps to /dev/null to handle
#                  output of unkown HZ value linux kernel bug/thingy 
# 28July2004 jah - added CPU information / format change
#
OS=`uname`
CPU=`cat /proc/cpuinfo | grep "model name" | tail -1 | awk -F: '{ print $2 }' | xargs echo`
NCPU=`cat /proc/cpuinfo | grep "processor" | wc -l | xargs echo`
MHZ=`cat /proc/cpuinfo | grep "MHz" | tail -1 | awk -F: '{ print $2 }' | xargs echo`
echo
echo [ `uname -n | tr a-z A-Z` ]
date
printf "%s on %s %s (%s MHz)\n" "$OS" "$NCPU" "$CPU" "$MHZ"
STATS=`uptime 2>/dev/null`
echo $STATS
echo
echo "Active Processes Using >= 1% of CPU:"
echo _________________________________________________________
if [ "$OS" = "Linux" ]
then
	ps -e -o user -o pid -o c -o args 2>/dev/null | grep -v ' 0 '
elif [ "$OS" = "SCO_SV" ]
then
	ps -A -o user -o pid -o c -o args 2>/dev/null | grep -v ' 0 ' | grep -v $$ > /tmp/ps.tmp
	echo "UID\\t\\tPID\\tC\\tCMD"
	while read data
	do
		set $data
		if [ $3 -gt 4 ]
		then
			echo -n $1\\t 
			if [ `expr length $1` -lt 8 ]
				then echo -n \\t
			fi
			echo $2\\t$3\\t$4' '$5
		fi
	done < /tmp/ps.tmp
fi
echo _________________________________________________________
rm /tmp/si.tmp /tmp/usr.tmp /tmp/ps.tmp >/dev/null 2>&1
echo