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:
@ -90,13 +90,49 @@ fi
|
|||||||
|
|
||||||
shift
|
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
|
while [ -n "$1" ]; do
|
||||||
# See if we have the required function and run it
|
# See if we have the required function and run it
|
||||||
for rc_x in describe start stop ${opts}; do
|
for rc_x in describe start stop ${opts}; do
|
||||||
if [ "${rc_x}" = "$1" ]; then
|
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
|
unset rc_x
|
||||||
|
if type "$1"_pre >/dev/null 2>&1; then
|
||||||
|
"$1"_pre || exit $?
|
||||||
|
fi
|
||||||
"$1" || exit $?
|
"$1" || exit $?
|
||||||
|
if type "$1"_post >/dev/null 2>&1; then
|
||||||
|
"$1"_post || exit $?
|
||||||
|
fi
|
||||||
shift
|
shift
|
||||||
continue 2
|
continue 2
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user