| 総合手引 | セクション 8 | English | オプション |
apmd ユーティリティは以下の実行時オプションを理解します。
| | |
| デバッグモードで起動します。 デーモンモードではなくフォアグラウンドで動作します。 | |
| | |
| デフォルトの設定ファイル /etc/apmd.conf の代りに使用する、別の設定ファイル file を指定します。 | |
| | |
| 電源状態の変更が検出されたが (AC_POWER_STATE) ラップトップの BIOS がそれを報告しないときに、 apmd に POWERSTATECHANGE イベントをシミュレートさせます。 これにより、電源コードを抜いたときに LCD バックライトを暗くする といったことが可能になります。 | |
| | |
| 冗長モードで動作します。 | |
apmd は起動時に設定ファイル (デフォルトは /etc/apmd.conf) を読み込み、 監視すべきイベントを APM デバイスドライバへ通知します。 終了時には APM デバイスドライバはイベントの監視を自動的に解除します。
apmd プロセスがシグナル SIGHUP を受信すると、設定ファイルを読み込み直して、 設定の変更内容を APM デバイスドライバに通知します。
apmd ユーティリティは、デバイスファイル /dev/apmctl を経由して、イベントの受け取りや APM システム制御用の ioctl(2) 要求を発行します。 このデバイスファイルは排他制御されてオープンされるため、 apmd プロセスは同時に 1 つのみ起動可能です。
apmd が APM イベントを受け取ると、設定ファイルで指定された イベントに対応するコマンドリストを実行するために 子プロセスを生成し、再び APM イベントの待ち状態になります。 生成された子プロセスは、 指定されたコマンドを 1 つずつ列挙された順番に実行します。
apmd が SUSPEND/STANDBY 要求に対するコマンドリストを処理している間、 カーネル内の APM デバイスドライバは、APM BIOS に対して 毎秒 1 回以上通知を発行し続けます。 これによって BIOS は、コマンド処理中であり要求が まだ完結していないことを認識します。
apmd ユーティリティはファイル /var/run/apmd.pid を作成し、プロセス ID を記録します。これは apmd を kill や、設定ファイルを読み込ませるために使えます。
apm_event SUSPENDREQ {
exec "sync && sync && sync";
exec "sleep 1";
exec "zzz";
}
この例では、APM イベント ‘SUSPENDREQ’ (ディスプレイを閉じた時などに発生します) を apmd が受け取ると、 ‘sync’ コマンドを 3 回実行し、少し待ったあとに zzz) を実行してシステムをサスペンドさせます。
|
-
apmd
が起動されているとカーネルでの処理を行わなくなるイベント:
| |
| STANDBYREQ
USERSTANDBYREQ SUSPENDREQ | |
| コマンドリストに sync を含めることをおすすめします | |
| USERSUSPENDREQ | |
| コマンドリストに sync を含めることをおすすめします | |
| BATTERYLOW | コマンドリストは zzz のみをおすすめします |
|
- カーネルの処理終了後に
apmd
へ通知されるイベント:
| |
| NORMRESUME
CRITRESUME STANDBYRESUME POWERSTATECHANGE UPDATETIME CAPABILITIESCHANGE | |
上記以外のイベントは apmd へ通知されません。
| - reject: APM BIOS からの直前の要求を拒否します。 ディスプレイを閉じた時に発生する SUSPEND 要求を拒否して、 代りに STANDBY 状態にしたい場合などに使用します。 | |
apm_event SUSPENDREQ {
exec "/etc/rc.suspend apm suspend";
}
apm_event USERSUSPENDREQ {
exec "sync && sync && sync";
exec "sleep 1";
exec "apm -z";
}
apm_event NORMRESUME {
exec "/etc/rc.resume apm suspend";
}
apm_event STANDBYRESUME {
exec "/etc/rc.resume apm standby";
}
# resume event configuration for serial mouse users by
# reinitializing a moused(8) connected to a serial port.
#
#apm_event NORMRESUME {
# exec "kill -HUP `cat /var/run/moused.pid`";
#}
# suspend request event configuration for ATA HDD users:
# execute standby instead of suspend.
#
#apm_event SUSPENDREQ {
# reject;
# exec "sync && sync && sync";
# exec "sleep 1";
# exec "apm -Z";
#}
| /etc/apmd.conf
/dev/apmctl /var/run/apmd.pid | |
また、 Warner Losh <imp@FreeBSD.org>, Hiroshi Yamashita <bluemoon@msj.biglobe.ne.jp>, Yoshihiko SARUMARU <mistral@imasy.or.jp>, Norihiro Kumagai <kuma@nk.rim.or.jp>, NAKAGAWA Yoshihisa <nakagawa@jp.FreeBSD.org>, Nick Hilliard <nick@foobar.org> による貢献がありました。
| APMD (8) | June 28, 1999 |
| 総合手引 | セクション 8 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
| “ | Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what's wrong.” | ” |