. /etc/rc.d/init.d/functions
# Get service config
-if [ -f /etc/sysconfig/sensors ] ; then
+if [ -f /etc/sysconfig/sensors ]; then
. /etc/sysconfig/sensors
fi
-
-# See how we were called.
-case "$1" in
- start)
+start() {
+ if [ ! -f /var/lock/subsys/sensors_modules ]; then
+ msg_not_running "sensors_modules"
+ exit 6
+ fi
+
# Check if the service is already running?
if [ ! -f /var/lock/subsys/sensors ]; then
msg_starting "sensors daemon"
- if [ -z "$BUS" ] || [ -z "$CHIP" ]; then
- fail
- nls "BUS or CHIP not configured in /etc/sysconfig/sensors"
- exit 1
- fi
-
- # insert modules
- for i in $BUS; do
- _modprobe single die "i2c-$i"
- done
- for i in $CHIP; do
- _modprobe single die "$i"
- done
-
- if [ "$SENSORS_SET" = "1" ]; then
- sensors -s
- fi
-
daemon sensord \
- $([ -n "$INTERVAL" ] && echo "-i $INTERVAL") \
- $([ -n "$LOG_INTERVAL" ] && echo "-l $LOG_INTERVAL") \
- $([ -n "$RRD_LOGFILE" ] && echo "-r $RRD_LOGFILE") \
- $([ -n "$RRD_INTERVAL" ] && echo "-t $RRD_INTERVAL") \
+ ${INTERVAL:+-i $INTERVAL} \
+ ${LOG_INTERVAL:+-l $LOG_INTERVAL} \
+ ${RRD_LOGFILE:+-r $RRD_LOGFILE} \
+ ${RRD_INTERVAL:+-t $RRD_INTERVAL} \
-f daemon
RETVAL=$?
touch /var/lock/subsys/sensors
else
msg_already_running "sensors daemon"
- exit 1
fi
- ;;
- stop)
+}
+
+stop() {
if [ -f /var/lock/subsys/sensors ]; then
msg_stopping "sensors daemon"
killproc sensord
-
- # remove kernel modules
- for i in $CHIP; do
- /sbin/rmmod $i >/dev/null 2>&1
- done
- for i in $BUS; do
- /sbin/rmmod i2c-$BUS >/dev/null 2>&1
- done
-
rm -f /var/lock/subsys/sensors
else
msg_not_running "sensors daemon"
- exit 1
fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
;;
status)
status sensors sensord
+ RETVAL=$?
sensors
;;
- restart|reload)
- $0 stop
- $0 start
- ;;
- force-reload)
- $0 stop && $0 start
- exit $?
+ restart|force-reload)
+ stop
+ start
;;
*)
- msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
- exit 1
+ msg_usage "$0 {start|stop|restart|force-reload|status}"
+ exit 3
esac
exit $RETVAL