Oracle® Solaris 11.2 でのリソースの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

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

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

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

各種のプロジェクト、タスク、exacct 関連機能はいくつかのグループに分けられます。各機能グループは、別々の Perl モジュールに配置されます。各モジュールは、Oracle Solaris の標準の 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 関連のシステムコールである getacct(2)putacct(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)
Sun::Solaris::Kstat
このモジュールは、kstat 機能に対する Perl のタイハッシュインタフェースを提供します。このモジュールの使用例については、Perl で記述された /bin/kstat を参照してください。
Kstat(3PERL)

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