こんにちは、佐藤市郎と申します。
中古のノートPC(FMV-5100NL/W:Pentium100MHz,Mem48MB,HDD810MB)をWEBサーバと
して使いはじめたところです。
せっかくバッテリーが付いてるので、apmdを使って停電時に自動シャットダウン
させようと試行錯誤しているのですが、うまくいきません。
まず、停電になってもある程度バッテリーで運用し、バッテリーがLowPowerにな
ったらshutdownを実行するようなスクリプトにしてみました。
(/etc/sysconfig/apm-scripts/apmcontinue)
#!/bin/sh
case "$1" in
change)
if [ "$2" = "battery" ]; then
/sbin/shutdown -h now
fi
;;
esac
しかしこのノートではLowPowerを検出できないのか、change batteryイベントが
通知されず、シャットダウンできませんでした。
次に電源がAC、バッテリー相互に変わるchange powerは検出されるので、
「バッテリーに変わってから15分後にシャットダウン、ただしACに戻ったらシャ
ットダウンを取り消す」というスクリプトにしてみました。
#!/bin/sh
case "$1" in
change)
if [ "$2" = "power" ]; then
if [ -f /var/run/shutdown.pid ]; then
/sbin/shutdown -c
else
/sbin/shutdown -h +15
fi
fi
;;
esac
これで電源を抜くとshutdownが実行されるのですが、再びコンセントを差し込ん
でもshutdownはキャンセルされませんでした。
どうやらshutdownを実行すると、その後apmdがうまく働かず、イベントが保留さ
れるような状態になってしまい、スクリプトが実行されないようです。
ここで手動でshutdown -cを実行すると、保留されたchange powerが有効になり、
/var/run/shutdown.pidが無い -> またshutdownを実行、となります。
これ以上、よい方法が思い浮かばず、どうにも手詰まり状態です。
どうかアドバイスをお願いします。
---
Ichro Sato <puresnow@xxxxxxxxxxxxxxxxxxxx>