runscript.sh now provides default start/stop functions if command and pidfile variables are set. We also run $cmd_pre and $cmd_post commands and return accordingly.

This commit is contained in:
Roy Marples 2007-11-20 10:24:40 +00:00
parent 46f25b2a72
commit df523ccfee

View File

@ -90,13 +90,49 @@ fi
shift
# If we have a default command then supply a default start function
if [ -n "${command}" ]; then
if ! type start >/dev/null 2>&1; then
start() {
ebegin "Starting ${name:-${SVCNAME}}"
start-stop-daemon --start \
--exec ${command} \
${procname:+--name} ${procname} \
${pidfile:+--pidfile} ${pidfile} \
-- ${command_args}
eend $? "Failed to start ${SVCNAME}"
}
fi
fi
# If we have a default command, procname or pidfile then supply a default stop
# function
if [ -n "${command}" -o -n "${procname}" -o -n "${pidfile}" ]; then
if ! type stop >/dev/null 2>&1; then
stop() {
ebegin "Stopping ${name:-${SVCNAME}}"
start-stop-daemon --stop \
${command:+--exec} ${command} \
${procname:+--name} ${procname} \
${pidfile:+--pidfile} ${pidfile}
eend $? "Failed to start ${SVCNAME}"
}
fi
fi
while [ -n "$1" ]; do
# See if we have the required function and run it
for rc_x in describe start stop ${opts}; do
if [ "${rc_x}" = "$1" ]; then
if type "$1" >/dev/null 2>/dev/null ; then
if type "$1" >/dev/null 2>&1; then
unset rc_x
if type "$1"_pre >/dev/null 2>&1; then
"$1"_pre || exit $?
fi
"$1" || exit $?
if type "$1"_post >/dev/null 2>&1; then
"$1"_post || exit $?
fi
shift
continue 2
else