
#	@(#)shutdown.sh	1.5

sync
a=`pwd`
if [ $a != / -a $a != /etc ]
then
	echo "shutdown: you must be in the root directory (/) to use shutdown"
	exit 2
fi
grace=${1-60}
T=/tmp
trap "rm -f $T/$$; exit 0" 0 1 2 15

echo "\nSHUTDOWN PROGRAM\n"
date
echo "\n"
cd /
a="`who ^wc -l`"
if [ $a -gt 1 ]
then
	echo "Do you want to send your own message? (y or n):   \c"
	read b
	if [ "$b" = "y" ]
	then
		echo "Type your message followed by ctrl d....\n"
		su adm -c /etc/wall
	else
		su adm -c /etc/wall <<!
PLEASE LOG OFF NOW ! ! !
System maintenance about to begin.
All processes will be killed in $grace seconds.
!
	fi
	sleep $grace
fi
/etc/wall <<!
SYSTEM BEING BROUGHT DOWN NOW ! ! !
!
if [ ${grace} -ne 0 ]
then
	sleep 60
fi
echo "\nBusy out (push down) the appropriate"
echo "phone lines for this system.\n"
echo "Do you want to continue? (y or n):   \c"
read b
if [ "$b" = "y" ]
then
	/usr/lib/acct/shutacct
	echo "Process accounting stopped."
	/etc/errstop
	echo "Error logging stopped."
	echo "\nAll currently running processes will now be killed.\n"
	/etc/killall
	mount^sed -n -e '/^\/ /d' -e 's/^.* on\(.*\) read.*/umount \1/p' ^ sh -
	/etc/init s
	mount^sed -n -e '/^\/ /d' -e 's/^.* on\(.*\) read.*/umount \1/p' ^ sh -
	sync;sync;sync
	echo "Wait for \`INIT: SINGLE USER MODE' before halting."
	sync;sync;sync;
else
	echo "For help, call your system administrator."
fi
