#!/bin/sh # # acpid Starts the acpi daemon # # chkconfig: 345 44 56 # description: Listen and dispatch ACPI events from the kernel # processname: acpid # # pidfile: /var/run/acpid.pid # Source function library. . /etc/rc.d/init.d/functions # Initial values (just in case): LAPTOP_MODULES="" VARIOUS_MODULES="" ASUS_LAPTOP="" TOSHIBA_LAPTOP="" # Configuration file. . /etc/sysconfig/acpid RETVAL=0 # See how we were called. case "$1" in start) # Start daemons. if [ ! -f /var/lock/subsys/acpid ]; then if [ ! -d /proc/acpi/button ]; then _modprobe ospm_button _modprobe button fi if [ "$(kernelverser)" -lt "002006" ] && is_yes "$MODPROBE_OSPM_SYSTEM"; then _modprobe single ospm_system fi # Load additional modules: if [ -n "$LAPTOP_MODULES" ]; then for i in $LAPTOP_MODULES; do _modprobe single $i done fi if [ -n "$VARIOUS_MODULES" ]; then for i in $VARIOUS_MODULES; do _modprobe single $i done fi # Determine if it's ASUS or TOSHIBA laptop if is_yes "$ASUS_LAPTOP"; then _modprobe asus_acpi elif is_yes "$TOSHIBA_LAPTOP"; then _modprobe toshiba_acpi elif is_yes "$IBM_LAPTOP"; then _modprobe ibm_acpi fi # starting: msg_starting acpid $PROGRAM_ARGS daemon acpid RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid else msg_already_running acpid fi ;; stop) # Stop daemons. if [ -f /var/lock/subsys/acpid ]; then msg_stopping acpid killproc acpid rm -f /var/lock/subsys/acpid >/dev/null 2>&1 else msg_not_running acpid fi ;; reload|force-reload) if [ -f /var/lock/subsys/acpid ]; then msg_reloading acpid killproc acpid -HUP RETVAL=$? else msg_not_running acpid >&2 exit 7 fi ;; restart) $0 stop $0 start exit $? ;; status) status acpid exit $? ;; *) msg_usage "$0 {start|stop|restart|reload|force-reload|status}" exit 3 esac exit $RETVAL