diff options
author | Anton Fiuman <llexiw@gmail.com> | 2008-05-25 00:55:56 +0200 |
---|---|---|
committer | Thomas Bächler <thomas@archlinux.org> | 2008-05-27 16:27:20 +0200 |
commit | fa73767d19ea505ec32533b8856122968207db2f (patch) | |
tree | 0d9695f3a40b86b29076719029a5b14578927e23 | |
parent | 63db98c2a8e256f9219c5c6501b40846040bf089 (diff) |
Allow users to ovverride daemon start and stop in rc.multi and rc.shutdown
Signed-off-by: Anton Fiuman <llexiw@gmail.com>
-rw-r--r-- | functions | 13 | ||||
-rwxr-xr-x | rc.multi | 5 | ||||
-rwxr-xr-x | rc.shutdown | 4 |
3 files changed, 17 insertions, 5 deletions
@@ -151,6 +151,19 @@ ck_depends() { done } +start_daemon() { + /etc/rc.d/$1 start +} + +start_daemon_bkgd() { + stat_bkgd "Starting $1" + (/etc/rc.d/$1 start) &>/dev/null & +} + +stop_daemon() { + /etc/rc.d/$1 stop +} + #Source additional functions at the end to allow overrides if [ -d /etc/rc.d/functions.d/ ]; then for f in $(/bin/ls /etc/rc.d/functions.d/); do @@ -13,10 +13,9 @@ for daemon in "${DAEMONS[@]}"; do if [ "$daemon" = "${daemon#!}" ]; then if [ "$daemon" = "${daemon#@}" ]; then - /etc/rc.d/$daemon start + start_daemon $daemon else - stat_bkgd "Starting ${daemon:1}" - (/etc/rc.d/${daemon:1} start) &>/dev/null & + start_daemon_bkgd ${daemon:1} fi fi done diff --git a/rc.shutdown b/rc.shutdown index 024a899..59f6e25 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -27,14 +27,14 @@ if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then let i=${#DAEMONS[@]} while [ $i -ge 0 ]; do if [ "${DAEMONS[$i]:0:1}" != '!' ]; then - ck_daemon ${DAEMONS[$i]#@} || /etc/rc.d/${DAEMONS[$i]#@} stop + ck_daemon ${DAEMONS[$i]#@} || stop_daemon ${DAEMONS[$i]#@} fi let i=i-1 done # find any leftover daemons and shut them down in reverse order if [ -d /var/run/daemons ]; then for daemon in $(/bin/ls -1t /var/run/daemons); do - /etc/rc.d/$daemon stop + stop_daemon $daemon done fi fi |