ノート型パソコンにCentOSを導入してサーバのように扱っているが、UPSのようにバッテリがある残量を下回っても動き続けるため、不意なシャットダウンをする可能性がある。 ACPIが動作しているので、ここに一工夫して、安全にシャットダウンする仕組みを導入した。
参考サイト:改訂版: LinuxノートPC上でサスペンド/ハイバネーションする方法 2ページ | OSDN Magazine
/etc/acpi/events/battery event=battery.* action=/etc/acpi/actions/battery.sh
/etc/acpi/actions/battery.sh #!/bin/sh if grep -q on-line /proc/acpi/ac_adapter/ADP0/state; then exit 0 fi BAT_DIR=/proc/acpi/battery/BAT0 FULL_BAT=`grep 'last full capacity' ${BAT_DIR}/info | awk '{ print $4 }'` CUR_BAT=`grep 'remaining capacity' ${BAT_DIR}/state | awk '{ print $3 }'` AVG=`expr $(expr ${CUR_BAT} \* 100) / ${FULL_BAT}` if [ "$AVG" -le "30" ]; then /sbin/poweroff fi
ACアダプタ状態(/proc/acpi/ac_adapter/ADP0/state)とバッテリ状態(/proc/acpi/battery/BAT0/*)は、環境に合わせる。 “30”は30%になったときの例。