diff options
author | roam <roam@FreeBSD.org> | 2001-07-17 14:33:52 +0000 |
---|---|---|
committer | roam <roam@FreeBSD.org> | 2001-07-17 14:33:52 +0000 |
commit | 401d22d5acee4b9bc0c74739f992fb8f62e4c561 (patch) | |
tree | 9fef42fdf84f81215cb419505174d2afc7f4f1d6 /etc/rc.shutdown | |
parent | f2e49729a0baf1d3bdd3bf9fab3b3737216e7a4a (diff) | |
download | FreeBSD-src-401d22d5acee4b9bc0c74739f992fb8f62e4c561.zip FreeBSD-src-401d22d5acee4b9bc0c74739f992fb8f62e4c561.tar.gz |
Add a script_name_sep rc.conf knob to specify the IFS character
for separating the startup scripts' list into individual filenames.
Run the shutdown scripts in reverse alphabetical order, so dependent
services are stopped before the services they depend upon.
Reviewed by: -arch, -audit
MFC after: 3 weeks
Diffstat (limited to 'etc/rc.shutdown')
-rw-r--r-- | etc/rc.shutdown | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/etc/rc.shutdown b/etc/rc.shutdown index 0f77f47..1a565c7 100644 --- a/etc/rc.shutdown +++ b/etc/rc.shutdown @@ -102,17 +102,24 @@ case ${local_startup} in [Nn][Oo] | '') ;; *) + slist="" for dir in ${local_startup}; do if [ -d "${dir}" ]; then for script in ${dir}/*.sh; do - if [ -x "${script}" ]; then - (set -T - trap 'exit 1' 2 - ${script} stop) - fi + slist="${script}${script_name_sep}${slist}" done fi done + script_save_sep="$IFS" + IFS="${script_name_sep}" + for script in ${slist}; do + if [ -x "${script}" ]; then + (set -T + trap 'exit 1' 2 + ${script} stop) + fi + done + IFS="${script_save_sep}" echo '.' ;; esac |