Solaris のシステム管理 (資源管理とネットワークサービス)

libexacct に対する Perl インタフェース

Perl インタフェースによって、exacct フレームワークで作成されたアカウンティングファイルを読み取ることのできる、Perl スクリプトを作成できます。exacct ファイルを書き出す Perl スクリプトも作成できます。

このインタフェースの機能は、基礎となる C 言語の API と同様です。可能な場合は、基礎となる C 言語の API から取得したデータを Perl データタイプとして表示します。この機能によって、データアクセスが容易になり、バッファのパック/アンパック操作が不要になります。さらに、あらゆるメモリー管理が Perl ライブラリによって実行されます。

各種のプロジェクト、タスク、exacct 関連機能はいくつかのグループに分けられます。各機能グループは、別々の Perl モジュールに配置されます。各モジュールは、サンの標準である Sun::Solaris:: Perl パッケージ接頭辞から始まります。Perl exacct ライブラリが提供するクラスはすべて、Sun::Solaris::Exacct モジュールの下にあります。

配下の libexacct(3LIB) ライブラリは、exacct 形式のファイル、カタログタグ、および exacct オブジェクトに対する操作を実行します。exacct オブジェクトは、次の 2 つのタイプに分けられます。

次の表に各モジュールの概要を示します。

モジュール 

説明 

参照先 

Sun::Solaris::Project

このモジュールは、次のプロジェクト操作関数にアクセスする機能を提供する。getprojid(2)endprojent(3PROJECT)fgetprojent(3PROJECT)getdefaultproj(3PROJECT)getprojbyid(3PROJECT)getprojbyname(3PROJECT)getprojent(3PROJECT)getprojidbyname(3PROJECT)inproj(3PROJECT)project_walk(3PROJECT)setproject(3PROJECT)、および setprojent(3PROJECT)

Project(3PERL)

Sun::Solaris::Task

このモジュールは、タスク操作関数である gettaskid(2)settaskid(2) にアクセスする機能を提供する

Task(3PERL)

Sun::Solaris::Exacct

最上位レベルの exacct モジュール。このモジュールは、exacct 関連のシステムコールである getacctputacct(2)、および wracct(2) にアクセスする機能を提供する。このモジュールは、libexacct(3LIB) ライブラリ関数である ea_error(3EXACCT) にアクセスする機能も提供する。exacct EO_*、EW_*、EXR_*、P_*、および TASK_* マクロのすべてに対応する定数も、このモジュールで提供される

Exacct(3PERL)

Sun::Solaris::Exacct:: Catalog

このモジュールは、exacct カタログタグ内のビットフィールドにアクセスする、オブジェクト指向型メソッドを提供する。このモジュールによって、EXC_*、EXD_*、および EXD_* マクロの定数にもアクセスできる

Exacct::Catalog(3PERL)

Sun::Solaris::Exacct:: File

このモジュールは、次の libexacct アカウンティングファイル関数にアクセスする、オブジェクト指向型メソッドを提供する。ea_open(3EXACCT)ea_close(3EXACCT)ea_get_creator(3EXACCT)ea_get_hostname(3EXACCT)ea_next_object(3EXACCT)ea_previous_object(3EXACCT)、および ea_write_object(3EXACCT)

Exacct::File(3PERL)

Sun::Solaris::Exacct:: Object

このモジュールは、個々の exacct アカウンティングファイルオブジェクトにアクセスする、オブジェクト指向型メソッドを提供する。exacct オブジェクトは、該当する Sun::Solaris::Exacct::Object サブクラスに与えられた、隠された参照として表される。このモジュールはさらに、アイテムかグループかのオブジェクトタイプに分けられる。 このレベルで、ea_match_object_catalog(3EXACCT) および ea_attach_to_object(3EXACCT) 関数にアクセスするメソッドがある

Exacct::Object(3PERL)

Sun::Solaris::Exacct:: Object::Item

このモジュールは、独立した exacct アカウンティングファイルアイテムにアクセスする、オブジェクト指向型メソッドを提供する。このタイプのオブジェクトは、Sun::Solaris::Exacct::Object から継承する

Exacct::Object::Item(3PERL)

Sun::Solaris::Exacct:: Object::Group

このモジュールは、独立した exacct アカウンティングファイルグループにアクセスする、オブジェクト指向型メソッドを提供する。このタイプのオブジェクトは、 Sun::Solaris::Exacct::Object から継承する。これらのオブジェクトによって、ea_attach_to_group(3EXACCT) 関数にアクセスできる。グループ内のアイテムは Perl 配列として表される

Exacct::Object::Group(3PERL)

表で説明したモジュールの使用例については、libexacct に対する Perl インタフェースの使用 を参照してください。