restart() {
trap '' TERM
stop "$@"
+ trap - TERM
start "$@"
}
}
enable() {
+ err=1
name="$(basename "${initscript}")"
- disable
- [ -n "$START" -o -n "$STOP" ] || {
- echo "/etc/init.d/$name does not have a START or STOP value"
- return 1
- }
- [ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
- [ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}"
+ [ "$START" ] && \
+ ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \
+ err=0
+ [ "$STOP" ] && \
+ ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \
+ err=0
+ return $err
}
enabled() {
reload Reload configuration files (or restart if service does not implement reload)
enable Enable service autostart
disable Disable service autostart
+ enabled Check if service is started on boot
$EXTRA_HELP
EOF
}
}
service_running() {
- return 0
+ local service="${1:-$(basename $initscript)}"
+ local instance="${2:-*}"
+ procd_running "$service" "$instance" "$@"
}
${INIT_TRACE:+set -x}
. "$initscript"
[ -n "$USE_PROCD" ] && {
- EXTRA_COMMANDS="${EXTRA_COMMANDS} running trace"
+ EXTRA_COMMANDS="${EXTRA_COMMANDS} running status trace"
+ EXTRA_HELP="\
+ running Check if service is running
+ status Service status
+${EXTRA_HELP}"
. $IPKG_INSTROOT/lib/functions/procd.sh
basescript=$(readlink "$initscript")
}
stop() {
+ procd_lock
stop_service "$@"
procd_kill "$(basename ${basescript:-$initscript})" "$1"
+ if eval "type service_stopped" 2>/dev/null >/dev/null; then
+ service_stopped
+ fi
}
reload() {
if eval "type reload_service" 2>/dev/null >/dev/null; then
+ procd_lock
reload_service "$@"
else
start
running() {
service_running "$@"
}
+
+ status() {
+ if eval "type status_service" 2>/dev/null >/dev/null; then
+ status_service "$@"
+ else
+ _procd_status "$(basename ${basescript:-$initscript})" "$1"
+ fi
+ }
}
ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"