Linuxのacpidプロセスの概要

CentOS6.5ではデフォルトでacpidというデーモンプロセスが実行されています。このプロセスの概要についてまとめました。

目次
(1)acpidとは?
(2)acpidの概要
(3)acpidのルールの定義
 

(1)acpidとは?


 
1)psコマンドの出力内容は?
 
$ ps -ef
root 1215 1 0 Jun05 ? 00:00:00 /usr/sbin/acpid
 
2)どのパッケージに属する?
 
$ rpm -qf /usr/sbin/acpid
acpid-1.0.10-2.1.el6.x86_64
 
3)acpidパッケージの概要
 
“yum info acpid”コマンドでパッケージの概要を確認しました。
 
①サマリー
 
ACPI Event Daemon
 
②URL
 
http://acpid.sourceforge.net/
 
③説明
 
acpidはACPIイベントをユーザー空間のプログラムにディスパッチするデーモン。
 
※ACPI (Advanced Configuration and Power Interface)
PC/AT互換機等の電源制御と構成要素に関する公開された統一規格
 
 

(2)acpidの概要


 
acpidの概要をmanを読んで確認しました。
 
・acpidは、ユーザースペースプログラムにACPIイベントを通知するように設計されている。
 
・acpidは、システムブート中に起動され、バックグラウンドプロセスとして実行される。
 
・イベントファイル(/proc/acpi/event)を開き、すべての行を読み込む。
 
行を読んでイベントを受け取るとルールのリストを調査し、そのイベントとマッチするルールを実行する。
 
・ロックファイル(/var/lock/acpid)が存在する場合は、受信したACPIイベントを無視する。
 
・ルールファイル以外にもacpidはUNIXドメインソケット(/var/run/acpid.socket)の接続も受け取る事が出来る。
 
・アプリケーションはこのソケットに接続できる。一度接続されるとacipidはすべてのACPIイベントのテキストをクライアントに送信出来る。
 
どのACPIイベントメッセージを感知してフィルタリングするかはクライアント側で行う。
 
・acpidは、SIGHUPやacpidのexit以外はクライアントソケットをクローズしない。
 
・acpidはsyslogにすべてのアクティビティを記録する。
 
 

(3)acpidのルールの定義


 
acpidのルールの定義についてmanを見てまとめました。
 
・ルールは、/etc/acpi/eventsディレクトリ内のファイルに定義されている。
 
上記ディレクトリ内でドットで始まるファイルとチルダ~で終わるファイル以外のすべてのファイル内のルールを解析する。
 
・各設定ファイルでは、イベントとアクションの2つを定義する。
 
例)power.conf
 
event=button/power.*
action=/etc/acpi/actions/power.sh
 
・イベントの定義の値は、正規表現で記述され、どのイベントとマッチするか設定される。
 
・アクションの定義の値は、bin/shで実行されるコマンドラインで、イベントがマッチした際に実行される。
 
アクションの定義の値には”%”という文字は特別な意味を持っていて予約されている。
 
“%e”は、このアクションがinvokeされたイベントに展開される。

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です