#! /bin/sh
#
# rc.halt	This file is executed by init when it goes into runlevel
#		0 (halt) or runlevel 6 (reboot). It kills all processes,
#		unmounts file systems and then either halts or reboots.
#
# Version:	@(#)/etc/rc.d/rc.halt	1.50	1994-01-15
#
# Author:	Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org>
#

  # Set the path.
  PATH=/sbin:/etc:/bin:/usr/bin

  # Find out how we were called.
  case "$0" in
	*halt)
		message="The system is halted"
		command="halt"
		;;
	*reboot)
		message="Please stand by while rebooting the system..."
		command=reboot
		;;
	*)
		echo "$0: call me as \"rc.halt\" or \"rc.reboot\" please!"
		exit 1
		;;
  esac

  # Kill all processes.
  echo "Sending all processes the TERM signal.."
  killall -15
  sleep 5
  echo "Sending all processes the KILL signal.."
  killall -9

  # Write to wtmp file before unmounting /var
  halt -w

  # Turn off swap, then unmount file systems.
  echo "Turning off swap"
  swapoff -a
  echo "Unmounting file systems"
  umount -a
  mount -n -o remount,ro /

  # Now halt or reboot.
  echo "$message"
  [ -f /etc/fastboot ] && echo "On the next boot fsck will be skipped."
  eval $command -d
