| … | |
… | |
| 197 | if in_runlevel "${SVCNAME}" "${BOOTLEVEL}" && \ |
197 | if in_runlevel "${SVCNAME}" "${BOOTLEVEL}" && \ |
| 198 | [[ ${SOFTLEVEL} != "reboot" && ${SOFTLEVEL} != "shutdown" && \ |
198 | [[ ${SOFTLEVEL} != "reboot" && ${SOFTLEVEL} != "shutdown" && \ |
| 199 | ${SOFTLEVEL} != "single" ]] ; then |
199 | ${SOFTLEVEL} != "single" ]] ; then |
| 200 | ewarn "WARNING: you are stopping a boot service." |
200 | ewarn "WARNING: you are stopping a boot service." |
| 201 | fi |
201 | fi |
| 202 | |
202 | |
| 203 | if [[ ${svcpause} != "yes" && ${RC_NO_DEPS} != "yes" ]] ; then |
203 | if [[ ${svcpause} != "yes" && ${RC_NO_DEPS} != "yes" ]] ; then |
| 204 | if net_service "${SVCNAME}" ; then |
204 | if net_service "${SVCNAME}" ; then |
| 205 | # A net.* service |
|
|
| 206 | if in_runlevel "${SVCNAME}" "${BOOTLEVEL}" || \ |
|
|
| 207 | in_runlevel "${SVCNAME}" "${mylevel}" ; then |
|
|
| 208 | # Only worry about net.* services if this is the last one |
|
|
| 209 | # running or if RC_NET_STRICT_CHECKING is set ... |
|
|
| 210 | ! is_net_up && mydeps="net" |
205 | is_net_up || mydeps="net" |
| 211 | fi |
206 | fi |
| 212 | mydeps="${mydeps} ${SVCNAME}" |
207 | mydeps="${mydeps} ${SVCNAME}" |
| 213 | else |
|
|
| 214 | mydeps="${SVCNAME}" |
|
|
| 215 | fi |
|
|
| 216 | fi |
208 | fi |
| 217 | |
209 | |
| 218 | # Save the IN_BACKGROUND var as we need to clear it for stopping depends |
210 | # Save the IN_BACKGROUND var as we need to clear it for stopping depends |
| 219 | local ib_save="${IN_BACKGROUND}" |
211 | local ib_save="${IN_BACKGROUND}" |
| 220 | unset IN_BACKGROUND |
212 | unset IN_BACKGROUND |
| 221 | |
213 | |
| 222 | for mydep in ${mydeps} ; do |
214 | for mydep in ${mydeps} ; do |
| 223 | for x in $(needsme "${mydep}") ; do |
215 | for x in $(needsme "${mydep}") ; do |
| 224 | # Service not currently running, continue |
216 | service_started "${x}" && stop_service "${x}" |
| 225 | if service_started "${x}" ; then |
|
|
| 226 | stop_service "${x}" |
|
|
| 227 | service_list=( "${service_list[@]}" "${x}" ) |
217 | service_list=( "${service_list[@]}" "${x}" ) |
| 228 | fi |
|
|
| 229 | done |
218 | done |
| 230 | done |
219 | done |
| 231 | |
220 | |
| 232 | for x in "${service_list[@]}" ; do |
221 | for x in "${service_list[@]}" ; do |
| 233 | # We need to test if the service has been marked stopped |
222 | # We need to test if the service has been marked stopped |