Idunn is an small system aiming to give an early rescue/install environment with ssh support, making life easier when one doesn't have physical access to machine.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.2 KiB

  1. #!/bin/sh
  2. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. #
  5. # Filename: target/idunn/initramfs/etc_rc.d_rc.shutdown.sh
  6. # Copyright (C) 2008 - 2009 The OpenSDE Project
  7. #
  8. # More information can be found in the files COPYING and README.
  9. #
  10. # This program is free software; you can redistribute it and/or modify
  11. # it under the terms of the GNU General Public License as published by
  12. # the Free Software Foundation; version 2 of the License. A copy of the
  13. # GNU General Public License can be found in the file COPYING.
  14. # --- SDE-COPYRIGHT-NOTE-END ---
  15. if [ "x$1" = "x-u" ]; then
  16. do_umount=yes
  17. shift
  18. else
  19. do_umount=
  20. fi
  21. . /etc/rc.d/functions.in
  22. title "Stopping services"
  23. check sv -v force-stop /var/service/*
  24. check sv d /var/service/*/log
  25. status
  26. title "Stopping supervisor"
  27. check start-stop-daemon -K -s HUP -x /usr/bin/runsvdir
  28. status
  29. for x in TERM:3 KILL:1; do
  30. y="${x%:*}" z="${x#*:}"
  31. title "Sending $y signal to all lingering processes (${z}s)"
  32. check killall5 -s $y
  33. sleep $z
  34. status
  35. done
  36. if [ -n "$do_umount" ]; then
  37. grep '^/' /proc/mounts | cut -d' ' -f2 | tac | while read x; do
  38. title "Unmounting $x"
  39. check umount -r "$x"
  40. status
  41. done
  42. umount -ar
  43. fi