home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 16 / hacker16 / 16_HACKER16.ISO / linux / tpm-security-server-1.2.1.iso / etc / rc.d / init.d / halt < prev    next >
Encoding:
Text File  |  2004-01-27  |  1.6 KB  |  87 lines

  1. . /etc/init.d/functions
  2.  
  3. echo
  4. echo $0
  5. echo
  6.  
  7. echo "Sending all processes, not being run by init, the TERM signal"
  8. /sbin/killall5 -15
  9. sleep 5
  10. echo "Okay, last call...sending all processes, not being run by the, the KILL signal"
  11. /sbin/killall5 -9
  12.  
  13. if [ -e /etc/watchboot ]; then
  14.     W="y"
  15.     echo "Press Enter to continue"
  16.     read -t 15 -s -n 1 A
  17. fi
  18.  
  19. rm -f /etc/watchboot
  20.  
  21. if [ "x$W" = "xy" ]; then
  22.     echo "Showing /etc/watchboot"
  23.     ls -l /etc/watchboot
  24.     echo "Press Enter to continue"
  25.     read -t 15 -s -n 1 A
  26. fi
  27.  
  28.  
  29. echo "Unmounting all non-system mounts"
  30. remaining=`cat /proc/mounts | awk '!/( \/dev | \/proc | \/ )/ { print $2 }'`
  31. for i in "$remaining"; do
  32.         echo "umounting $i"
  33.         umount $i
  34. done
  35.  
  36. if [ "x$W" = "xy" ]; then
  37.     echo "Press Enter to continue"
  38.     read -t 15 -s -n 1 A
  39. fi
  40.  
  41. echo "Using halt -w to write record to /var/log/wtmp"
  42. halt -w
  43.  
  44.  
  45.  
  46. #This remounts the root directory as read-only
  47. #For the future: This should also check if /etc has it's own mount
  48. # and remount it read-only
  49. mount -n -o remount,ro /
  50. if [ $? -ne 0 ]; then 
  51.     echo "Trying to mount / read-only again"
  52.     /sbin/killall5 -9
  53.     sleep 5
  54.     mount -n -o remount,ro /
  55. fi
  56.  
  57. if [ "x$W" = "xy" ]; then
  58.     ps -ef
  59.     mount
  60.     echo "Press Enter to continue"
  61.     read -t 15 -s -n 1 A
  62. fi
  63.  
  64.  
  65. #Sync the file system
  66. sync;sync;sync
  67.  
  68. if [ "x$W" = "xy" ]; then
  69.     echo "Press Enter to continue"
  70.     read -t 15 -s -n 1 A
  71. fi
  72.  
  73. case "$0" in
  74.     *halt)
  75.         echo "System is stopped.  You may turn off the power."
  76.             ;;
  77.     *reboot)
  78.         echo "System is rebooting..."
  79.         reboot -i -d
  80.             ;;
  81.     *)
  82.         echo "System is stopped.  You may turn off the power."
  83.             ;;
  84. esac
  85.  
  86.  
  87.