Remove empty lines Fix typo in macros Reported by: groff -t -ww -z -mandoc -Tnippon -dlang=ja_JP.eucJP -mtty-char
293 lines
7.7 KiB
Groff
293 lines
7.7 KiB
Groff
.\" Copyright (c) 1999 Mitsuru IWASAKI <iwasaki@FreeBSD.org>
|
|
.\" Copyright (c) 1999 KOIE Hidetaka <koie@suri.co.jp>
|
|
.\" Copyright (c) 1999 Yoshihiko SARUMARU Aq <mistral@imasy.or.jp>
|
|
.\" Copyright (c) 1999 Norihiro Kumagai <kuma@nk.rim.or.jp>
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)apmd.8 1.1 (FreeBSD) 6/28/99
|
|
.\" %FreeBSD: src/usr.sbin/apmd/apmd.8,v 1.7.2.5 2001/08/16 15:55:38 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/apmd.8,v 1.12 2001/08/18 23:50:44 horikawa Exp $
|
|
.\"
|
|
.Dd June 28, 1999
|
|
.Dt APMD 8
|
|
.Os
|
|
.Sh 名称
|
|
.Nm apmd
|
|
.Nd Advanced Power Management 監視デーモン
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl d
|
|
.Op Fl f file
|
|
.Op Fl v
|
|
.Sh 解説
|
|
.Nm
|
|
は、指定した Advanced Power Management
|
|
.Pq Tn APM
|
|
イベントを監視し、
|
|
いずれかのイベントが発生した場合、
|
|
対応するコマンドシーケンスを実行します。
|
|
設定ファイルで指定されたイベントのみが
|
|
.Nm
|
|
へ通知され、それ以外のイベントは無視されます。
|
|
APM BIOS によって発行された
|
|
イベントに対して、
|
|
.Nm
|
|
は設定ファイルで指定されたコマンドシーケンスを実行します。
|
|
.Nm
|
|
をサスペンド/スタンバイを監視するようにして起動すると、
|
|
カーネルはそれらの要求イベントに対する
|
|
処理を行いません。そのためそれらのイベント発生時に
|
|
処理をさせたい場合は、適切なコマンドまたは組み込み関数を
|
|
明示的に設定ファイルに指定する必要があります。
|
|
.Pp
|
|
.Nm
|
|
は以下の実行時オプションを理解します。
|
|
.Bl -tag -width -f_file
|
|
.It Fl d
|
|
デバッグモードで起動します。
|
|
デーモンモードではなくフォアグラウンドで動作します。
|
|
.It Fl f Ar file
|
|
デフォルトの設定ファイル
|
|
.Pa /etc/apmd.conf
|
|
の代りに使用する、別の設定ファイル
|
|
.Ar file
|
|
を指定します。
|
|
.It Fl v
|
|
冗長モードで動作します。
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
は起動時に設定ファイル
|
|
(デフォルトは
|
|
.Pa /etc/apmd.conf )
|
|
を読み込み、
|
|
監視すべきイベントを APM デバイスドライバへ通知します。
|
|
終了時には APM デバイスドライバはイベントの監視を自動的に解除します。
|
|
.Pp
|
|
.Nm
|
|
プロセスがシグナル SIGHUP を受信すると、設定ファイルを読み込み直して、
|
|
設定の変更内容を APM デバイスドライバに通知します。
|
|
.Pp
|
|
.Nm
|
|
は、デバイスファイル
|
|
.Pa /dev/apmctl
|
|
を経由して、イベントの受け取りや APM システム制御用の
|
|
.Xr ioctl 2
|
|
要求を発行します。このデバイスファイルは排他制御されてオープンされるため、
|
|
.Nm
|
|
プロセスは同時に 1 つのみ起動可能です。
|
|
.Pp
|
|
.Nm
|
|
が APM イベントを受け取ると、設定ファイルで指定された
|
|
イベントに対応するコマンドリストを実行するために
|
|
子プロセスを生成し、再び APM イベントの待ち状態になります。
|
|
生成された子プロセスは、
|
|
指定されたコマンドを 1 つずつ列挙された順番に実行します。
|
|
.Pp
|
|
.Nm
|
|
が SUSPEND/STANDBY 要求に対するコマンドリストを処理している間、
|
|
カーネル内の APM デバイスドライバは、APM BIOS に対して
|
|
毎秒 1 回以上通知を発行し続けます。
|
|
これによって BIOS は、コマンド処理中であり要求が
|
|
まだ完結していないことを認識します。
|
|
.Pp
|
|
.Nm
|
|
デーモンはファイル
|
|
.Pa /var/run/apmd.pid
|
|
を作成し、プロセス ID を記録します。これは
|
|
.Nm
|
|
を kill や、設定ファイルを読み込ませるために使えます。
|
|
.Sh 設定ファイル
|
|
.Nm
|
|
の設定ファイルの構造は非常にシンプルです。例えば次のようになります。
|
|
.Pp
|
|
.Bd -literal
|
|
apm_event SUSPENDREQ {
|
|
exec "sync && sync && sync";
|
|
exec "sleep 1";
|
|
exec "zzz";
|
|
}
|
|
.Ed
|
|
.Pp
|
|
この例では、APM イベント
|
|
.Ql SUSPENDREQ
|
|
(ディスプレイを閉じた時などに発生します) を
|
|
.Nm
|
|
が受け取ると、
|
|
.Ql sync
|
|
コマンドを 3 回実行し、少し待ったあとに
|
|
.Nm zzz ( Ns Nm apm Fl z )
|
|
を実行してシステムをサスペンドさせます。
|
|
.Pp
|
|
.Bl -bullet
|
|
.It
|
|
apm_event キーワード
|
|
.Bd -ragged -offset indent
|
|
.Ql apm_event
|
|
はキーワードであり、イベントごとの設定の開始を指示します。
|
|
.Ed
|
|
.It
|
|
APM イベント
|
|
.Bd -ragged -offset indent
|
|
複数のイベントに対して同じ処理を実行したい場合は、それらのイベント名を
|
|
コンマで区切って指定します。有効なイベント名は次の通りです。
|
|
.Bl -item
|
|
.It
|
|
-
|
|
.Nm
|
|
が起動されているとカーネルでの処理を行わなくなるイベント:
|
|
.Pp
|
|
.Bl -tag -width USERSUSPENDREQ -compact -offset indent
|
|
.It STANDBYREQ
|
|
.It USERSTANDBYREQ
|
|
.It SUSPENDREQ
|
|
コマンドリストに sync を含めることをおすすめします
|
|
.It USERSUSPENDREQ
|
|
コマンドリストに sync を含めることをおすすめします
|
|
.It BATTERYLOW
|
|
コマンドリストは zzz のみをおすすめします
|
|
.El
|
|
.It
|
|
- カーネルの処理終了後に
|
|
.Nm
|
|
へ通知されるイベント:
|
|
.Pp
|
|
.Bl -tag -width USERSUSPENDREQ -compact -offset indent
|
|
.It NORMRESUME
|
|
.It CRITRESUME
|
|
.It STANDBYRESUME
|
|
.It POWERSTATECHANGE
|
|
.It UPDATETIME
|
|
.It CAPABILITIESCHANGE
|
|
.El
|
|
.Pp
|
|
上記以外のイベントは
|
|
.Nm
|
|
へ通知されません。
|
|
.El
|
|
.Ed
|
|
.It
|
|
コマンドライン文法
|
|
.Bd -ragged -offset indent
|
|
前述の例では、
|
|
.Ql exec
|
|
から始まる 3 行はイベントに対するコマンドです。
|
|
それぞれの行はセミコロンで終了している必要があります。
|
|
イベントに対するコマンドリストは
|
|
.Ql {
|
|
と
|
|
.Ql }
|
|
で囲みます。
|
|
.Nm
|
|
はダブルクォーテーションで囲まれたコマンドの実行に
|
|
.Xr system 3
|
|
と同様に
|
|
.Pa /bin/sh
|
|
を使用します。各コマンドはコマンドリストの最後に到達するか 0 以外の
|
|
終了コードで終わるまで順番に実行されます。
|
|
.Nm
|
|
は、失敗したコマンドの終了コードを、
|
|
.Xr syslog 3
|
|
経由で報告します。
|
|
加えて APM BIOS からの要求イベントを取り消します。
|
|
.Ed
|
|
.It
|
|
組み込み関数
|
|
.Bd -ragged -offset indent
|
|
コマンド行の代りに
|
|
.Nm
|
|
の組み込み関数を指定できます。組み込み関数はコマンド行と同様に
|
|
セミコロンで終了します。次の組み込み関数が現在サポートされています。
|
|
.Bl -item
|
|
.It
|
|
- reject:
|
|
.Bd -ragged -offset indent
|
|
APM BIOS からの直前の要求を拒否します。ディスプレイを閉じた時に発生す
|
|
る SUSPEND 要求を拒否して、代りに STANDBY 状態にしたい場合などに使用し
|
|
ます。
|
|
.Ed
|
|
.El
|
|
.Ed
|
|
.El
|
|
.Sh 使用例
|
|
設定ファイルのサンプルには、以下のものが含まれています。
|
|
.Bd -literal
|
|
apm_event SUSPENDREQ {
|
|
exec "/etc/rc.suspend";
|
|
}
|
|
|
|
apm_event USERSUSPENDREQ {
|
|
exec "sync && sync && sync";
|
|
exec "sleep 1";
|
|
exec "apm -z";
|
|
}
|
|
|
|
apm_event NORMRESUME, STANDBYRESUME {
|
|
exec "/etc/rc.resume";
|
|
}
|
|
|
|
# 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";
|
|
#}
|
|
.Ed
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width /etc/apmd.conf -compact
|
|
.It Pa /etc/apmd.conf
|
|
.It Pa /dev/apmctl
|
|
.It Pa /var/run/apmd.pid
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr apm 4 ,
|
|
.Xr apm 8
|
|
.Sh 作者
|
|
.An Mitsuru IWASAKI Aq iwasaki@FreeBSD.org
|
|
.An KOIE Hidetaka Aq koie@suri.co.jp
|
|
.Pp
|
|
また、
|
|
.An Warner Losh Aq imp@FreeBSD.org ,
|
|
.An Hiroshi Yamashita Aq bluemoon@msj.biglobe.ne.jp ,
|
|
.An Yoshihiko SARUMARU Aq mistral@imasy.or.jp ,
|
|
.An Norihiro Kumagai Aq kuma@nk.rim.or.jp ,
|
|
.An NAKAGAWA Yoshihisa Aq nakagawa@jp.FreeBSD.org ,
|
|
.An Nick Hilliard Aq nick@foobar.org
|
|
による貢献がありました。
|
|
.Sh 歴史
|
|
.Nm
|
|
コマンドは
|
|
.Fx 3.3
|
|
から登場しました。
|