Go to main content
リソース管理および Oracle® Solaris ゾーン開発者ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

Perl モジュール

各 Perl モジュールには、関連するプロジェクト、タスク、および exacct 関連関数のグループが含まれています。各関数には、標準の Sun::Solaris:: Perl パッケージ接頭辞があります。

表 5  Perl モジュール
モジュール
説明
次のプロジェクト操作関数にアクセスする機能を提供します。getprojid(2)、setproject(3PROJECT)、project_walk(3PROJECT)、getprojent(3PROJECT)、getprojbyname(3PROJECT)、getprojbyid(3PROJECT)、getdefaultproj(3PROJECT)、inproj(3PROJECT)、getprojidbyname(3PROJECT)、setprojent(3PROJECT)、endprojent(3PROJECT)、fgetprojent(3PROJECT)。
タスク管理関数 settaskid(2) および gettaskid(2) にアクセスする機能を提供します。
最上位レベルの exacct モジュール。このモジュールの機能は、exacct 関連のシステムコールである getacct(2)、putacct(2)、および wracct(2) に加え、libexacct(3LIB) ライブラリ関数の ea_error(3EXACCT) にもアクセスできます。このモジュールには、exacct EO_*EW_*EXR_*P_*TASK_* といったさまざまなすべてのマクロの定数が含まれています。
exacct カタログタグ内のビットフィールドや EXC_*EXD_*、および EXD_* マクロにアクセスするオブジェクト指向型メソッドを提供します。
次の libexacct(3LIB) アカウンティングファイル関数にアクセスするオブジェクト指向型メソッドを提供します。ea_open(3EXACCT)、ea_close(3EXACCT)、ea_get_creator(3EXACCT)、ea_get_hostname(3EXACCT)、ea_next_object(3XACCT)、ea_previous_object(3EXACCT)、ea_write_object(3EXACCT)。
個々の exacct アカウンティングファイルオブジェクトにアクセスする、オブジェクト指向型メソッドを提供します。exacct オブジェクトは、該当する Sun::Solaris::Exacct::Object サブクラスに与えられた、隠された参照として表されます。このモジュールはさらに、使用できる 2 つのオブジェクト型であるアイテムとグループに分けられます。ea_match_object_catalog(3EXACCT) 関数、ea_attach_to_object(3EXACCT) 関数にアクセスするメソッドも提供されます。
個々の exacct アカウンティングファイルアイテムにアクセスする、オブジェクト指向型メソッドを提供します。このタイプのオブジェクトは、Sun::Solaris::Exacct::Object から継承します。
個々の exacct アカウンティングファイルグループにアクセスする、オブジェクト指向型メソッドを提供します。このタイプのオブジェクトは Sun::Solaris::Exacct::Object を継承しており、ea_attach_to_group(3EXACCT) 関数へのアクセスを提供します。グループ内のアイテムは Perl 配列として表されます。
Sun::Solaris::Exacct::Object::Group 内で配列の型として使用されるプライベート配列型。

Sun::Solaris::Project モジュール

Sun::Solaris::Project モジュールは、プロジェクト関連システムコールおよび libproject(3LIB) ライブラリのラッパーを提供します。

Sun::Solaris::Project 定数

Sun::Solaris::Project モジュールは、プロジェクト関連ヘッダーファイルの定数を使用します。

MAXPROJID
PROJNAME_MAX
PROJF_PATH
PROJECT_BUFSZ
SETPROJ_ERR_TASK
SETPROJ_ERR_POOL

Sun::Solaris::Project 関数、クラスメソッド、およびオブジェクトメソッド

libexacct(3LIB) API への Perl 拡張は、プロジェクト用に次の関数を提供します。

Sun::Solaris::Project モジュールにはクラスメソッドがありません。

Sun::Solaris::Project モジュールにはオブジェクトメソッドがありません。

Sun::Solaris::Project のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次の表にリストされたタグを使用して、このモジュールで定義された定数および関数を個別にインポートできます。

タグ
定数または関数
:SYSCALLS
getprojid()
:LIBCALLS
setproject()activeprojects()getprojent()setprojent()endprojent()getprojbyname()getprojbyid()getdefaultproj()fgetprojent()inproj()getprojidbyname()
:CONSTANTS
MAXPROJID_TASKPROJNAME_MAXPROJF_PATHPROJECT_BUFSZSETPROJ_ERRSETPROJ_ERR_POOL
:ALL
:SYSCALLS:LIBCALLS:CONSTANTS

Sun::Solaris::Task モジュール

Sun::Solaris::Task モジュールは、settaskid(2) および gettaskid(2) システムコールのラッパーを提供します。

Sun::Solaris::Task 定数

Sun::Solaris::Task モジュールは次の定数を使用します。

TASK_NORMAL
TASK_FINAL

Sun::Solaris::Task 関数、クラスメソッド、およびオブジェクトメソッド

libexacct(3LIB) API への Perl 拡張は、タスク用に次の関数を提供します。

Sun::Solaris::Task モジュールにはクラスメソッドがありません。

Sun::Solaris::Task モジュールにはオブジェクトメソッドがありません。

Sun::Solaris::Task のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次の表にリストされたタグを使用して、このモジュールで定義された定数および関数を個別にインポートできます。

タグ
定数または関数
:SYSCALLS
settaskid()gettaskid()
:CONSTANTS
TASK_NORMAL および TASK_FINAL
:ALL
:SYSCALLS および :CONSTANTS

Sun::Solaris::Exacct モジュール

Sun::Solaris::Exacct モジュールは、ea_error(3EXACCT) 関数およびすべての exacct システムコールのラッパーを提供します。

Sun::Solaris::Exacct 定数

Sun::Solaris::Exacct モジュールは、さまざまな exacct ヘッダーファイルの定数を提供します。P_PIDP_TASKIDP_PROJID、およびすべての EW_*EP_*EXR_* マクロはモジュールのビルドプロセス中に抽出されます。マクロは /usr/include にある exacct ヘッダーファイルから抽出され、Perl 定数として提供されます。Sun::Solaris::Exacct 関数に渡される定数は、EW_FINAL のような整数値でも、“EW_FINAL” のような同じ変数の文字列表現でもかまいません。

Sun::Solaris::Exacct 関数、クラスメソッド、およびオブジェクトメソッド

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct モジュール用に次の関数を提供します。

ea_error_str
ea_register_catalog
ea_new_file
ea_new_item
ea_new_group
ea_dump_object

注 -  ea_error_str() は簡易関数として提供されるため、次のような繰り返されるコードブロックを回避できます。
if (ea_error() == EXR_SYSCALL_FAIL) {
        print("error: $!\n");
} else {
        print("error: ", ea_error(), "\n");
}

Sun::Solaris::Exacct モジュールにはクラスメソッドがありません。

Sun::Solaris::Exacct モジュールにはオブジェクトメソッドがありません。

Sun::Solaris::Exacct のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次のタグを使用して、このモジュールで定義された定数および関数を個別にインポートできます。

タグ
定数または関数
:SYSCALLS
getacct()putacct()wracct()
:LIBCALLS
ea_error()ea_error_str()
:CONSTANTS
P_PIDP_TASKIDP_PROJID
EW_*EP_*EXR_*
:SHORTAND
ea_register_catalog()ea_new_catalog()ea_new_file()ea_new_item()ea_new_group()ea_dump_object()
:ALL
:SYSCALLS:LIBCALLS:CONSTANTS、および :SHORTHAND
:EXACCT_CONSTANTS
:CONSTANTS、および Sun::Solaris::CatalogSun::Solaris::FileSun::Solaris::Object 用の :CONSTANTS タグ
:EXACCT_ALL
:ALL、および Sun::Solaris::CatalogSun::Solaris::FileSun::Solaris::Object 用の :ALL

Sun::Solaris::Exacct::Catalog モジュール

Sun::Solaris::Exacct::Catalog モジュールは、カタログタグとして使用される 32 ビット整数を包むラッパーを提供します。このカタログタグは、Sun::Solaris::Exacct::Catalog クラスに与えられた Perl オブジェクトとして表されます。メソッドを使用すると、カタログタグ内のフィールドを操作できます。

Sun::Solaris::Exacct::Catalog 定数

EXT_*EXC_*、および EXD_* のマクロはすべてモジュールのビルドプロセス中に /usr/include/sys/exact_catalog.h ファイルから抽出され、定数として提供されます。Sun::Solaris::Exacct::Catalog メソッドに渡される関数は、EXT_UINT8 のような整数値でも、“EXT_UINT8” のような同じ変数の文字列表現でもかまいません。

Sun::Solaris::Exacct::Catalog 関数、クラスメソッド、およびオブジェクトメソッド

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::Catalog 用に次のクラスメソッドを提供します。Exacct(3PERL) および Exacct::Catalog(3PERL)

register
new

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::Catalog 用に次のオブジェクトメソッドを提供します。

value
type
catalog
id
type_str
catalog_str
id_str

Sun::Solaris::Exacct::Catalog のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次のタグを使用して、このモジュールで定義された定数および関数を個別にインポートできます。

タグ
定数または関数
:CONSTANTS
EXT_*EXC_*、および EXD_*
:ALL
:CONSTANTS

さらに、register() 関数で定義されたすべての定数は、オプションで呼び出し元のパッケージにエクスポートできます。

Sun::Solaris::Exacct::File モジュール

Sun::Solaris::Exacct::File モジュールは、アカウンティングファイルを操作する exacct 関数のラッパーを提供します。インタフェースはオブジェクト指向であり、exacct ファイルの作成および読み取りができます。このモジュールでラップされる C ライブラリコールは次のとおりです。

ファイルの読み取りおよび書き込みメソッドは Sun::Solaris::Exacct::Object オブジェクト上で動作します。これらのメソッドは、必要なメモリー管理、パック、アンパック、および必要とされる構造変換をすべて実行します。

Sun::Solaris::Exacct::File 定数

Sun::Solaris::Exacct::File は、EO_HEADEO_TAILEO_NO_VALID_HDREO_POSN_MSK、および EO_VALIDATE_MSK 定数を提供します。new() メソッドで必要なほかの定数は、標準の Perl の Fcntl モジュールにあります。表 6 は、$oflags および $aflags のさまざまな値の new() のアクションを示しています。

Sun::Solaris::Exacct::File 関数、クラスメソッド、およびオブジェクトメソッド

Sun::Solaris::Exacct::File モジュールには関数がありません。

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::File 用に次のクラスメソッドを提供します。

new

次の表は、$oflags および $aflags パラメータの組み合わせに対する new() のアクションを示しています。

表 6  $oflags および $aflags パラメータ
$oflags
$aflags
アクション
O_RDONLY
空または EO_HEAD
ファイルの最初で読み取り用に開きます。
O_RDONLY
EO_TAIL
ファイルの最後で読み取り用に開きます。
O_WRONLY
無視
ファイルが存在する必要があり、ファイルの最後で書き込み用に開きます。
O_WRONLY | O_CREAT
無視
ファイルが存在しない場合はファイルを作成します。それ以外の場合は、切り捨てて、書き込み用に開きます。
O_RDWR
無視
ファイルが存在する必要があり、ファイルの最後で読み取りまたは書き込み用に開きます。
O_RDWR | O_CREAT
無視
ファイルが存在しない場合はファイルを作成します。それ以外の場合は、切り捨てて、読み取りまたは書き込み用に開きます。

注 -  $oflags に唯一有効な値は、O_RDONLYO_WRONLYO_RDWR または O_CREAT の組み合わせです。$aflags は、O_RDONLY に対するファイル内の必要なポジショニングを示しています。EO_HEAD または EO_TAIL が許可されます。空の場合は EO_HEAD と見なされます。

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::File 用に次のオブジェクトメソッドを提供します。

creator
hostname
next
previous
get
write

注 -  Sun::Solaris::Exacct::File を閉じます。Sun::Solaris::Exacct::File に対する明示的な close() メソッドはありません。ファイルハンドルオブジェクトが未定義の場合または再度割り当てられた場合にファイルが閉じられます。

Sun::Solaris::Exacct::File のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次のタグを使用して、このモジュールで定義された定数を個別にインポートできます。

タグ
定数または関数
:CONSTANTS
EO_HEADEO_TAILEO_NO_VALID_HDREO_POSN_MSKEO_VALIDATE_MSK
:ALL
:CONSTANTS および Fcntl(:DEFAULT)

Sun::Solaris::Exacct::Object モジュール

Sun::Solaris::Exacct::Object モジュールは、exacct オブジェクトに使用できる 2 つの型であるアイテムとグループの親として機能します。exacct Item は、単一データ値、埋め込まれた exacct オブジェクト、または raw データのブロックです。単一データ値の例として、プロセスによって消費されるユーザー CPU 時間の秒数があります。exacct Group は、特定のプロセスまたはタスクのすべてのリソース使用率の値など、exacct アイテムの順序付けられたコレクションです。グループ同士を互いにネストする必要がある場合は、内側のグループを埋め込みの exacct オブジェクトとして外側のグループの内部に格納できます。

Sun::Solaris::Exacct::Object モジュールには、exacct のアイテムとグループ両方に共通するメソッドが含まれています。Sun::Solaris::Exacct::Object の属性およびそこから派生したすべてのクラスは、new() で新規作成されたあと、読み取り専用になることに注意してください。属性が読み取り専用になることで、カタログタグおよびデータ値の不整合が生じる原因となる、属性の意図しない変更を防ぎます。読み取り専用属性の唯一の例外は、グループオブジェクト内にアイテムを格納するのに使用される配列です。この配列は、通常の Perl の配列演算子を使用して変更できます。

Sun::Solaris::Exacct::Object 定数

Sun::Solaris::Exacct::Object は、EO_ERROREO_NONEEO_ITEM、および EO_GROUP 定数を提供します。

Sun::Solaris::Exacct::Object 関数、クラスメソッド、およびオブジェクトメソッド

Sun::Solaris::Exacct::Object モジュールには関数がありません。

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::Object 用に次のクラスメソッドを提供します。

dump

libexacct(3LIB) API への Perl 拡張は、Sun::Solaris::Exacct::Object 用に次のオブジェクトメソッドを提供します。

type
catalog
match_catalog
value

Sun::Solaris::Exacct::Object のエクスポート

デフォルトでは、このモジュールからは何もエクスポートされません。次のタグを使用して、このモジュールで定義された定数および関数を個別にインポートできます。

タグ
定数または関数
:CONSTANTS
EO_ERROREO_NONEEO_ITEM、および EO_GROUP
:ALL
:CONSTANTS

Sun::Solaris::Exacct::Object::Item モジュール

Sun::Solaris::Exacct::Object::Item モジュールは、exacct データアイテムに使用されます。exacct データアイテムは、Sun::Solaris::Exacct::Object クラスのサブクラスである Sun::Solaris::Exacct::Object::Item クラスに与えられた、隠された参照として表されます。ベースとなる exacct データ型は、次のように Perl 型にマッピングされます。

表 7  Perl データ型にマッピングされる exacct データ型
exacct
Perl 内部タイプ
EXT_UINT8
IV (整数)
EXT_UINT16
IV (整数)
EXT_UINT32
IV (整数)
EXT_UINT64
IV (整数)
EXT_DOUBLE
NV (double)
EXT_STRING
PV (文字列)
EXT_EXACCT_OBJECT
Sun::Solaris::Exacct::Object サブクラス
EXT_RAW
PV (文字列)

Sun::Solaris::Exacct::Object::Item 定数

Sun::Solaris::Exacct::Object::Item には定数がありません。

Sun::Solaris::Exacct::Object::Item 関数、クラスメソッド、およびオブジェクトメソッド

Sun::Solaris::Exacct::Object::Item には関数がありません。

Sun::Solaris::Exacct::Object::Item は、Sun::Solaris::Exacct::Object 基本クラスのすべてのクラスメソッドに加え、new() クラスメソッドを継承しています。

new

Sun::Solaris::Exacct::Object::Item は、Sun::Solaris::Exacct::Object 基本クラスのすべてのオブジェクトメソッドを継承しています。

Sun::Solaris::Exacct::Object::Item のエクスポート

Sun::Solaris::Exacct::Object::Item にはエクスポートがありません。

Sun::Solaris::Exacct::Object::Group モジュール

Sun::Solaris::Exacct::Object::Group モジュールは、exacct グループオブジェクトに使用されます。exacct グループオブジェクトは、Sun::Solaris::Exacct::Object クラスのサブクラスである Sun::Solaris::Exacct::Object::Group クラスに与えられた、隠された参照として表されます。グループ内のアイテムは Perl 配列内に格納され、その配列への参照は継承された value() メソッドからアクセスできます。つまり、グループ内の個々のアイテムを通常の Perl 配列の構文と演算子で操作できます。配列のすべてのデータ要素は、Sun::Solaris::Exacct::Object クラスから派生している必要があります。グループオブジェクトは、既存のグループをデータアイテムとして追加するだけで互いにネストすることもできます。

Sun::Solaris::Exacct::Object::Group 定数

Sun::Solaris::Exacct::Object::Group には定数がありません。

Sun::Solaris::Exacct::Object::Group 関数、クラスメソッド、およびオブジェクトメソッド

Sun::Solaris::Exacct::Object::Group には関数がありません。

Sun::Solaris::Exacct::Object::Group は、Sun::Solaris::Exacct::Object 基本クラスのすべてのクラスメソッドに加え、new() クラスメソッドを継承しています。

new

Sun::Solaris::Exacct::Object::Group は、Sun::Solaris::Exacct::Object 基本クラスのすべてのオブジェクトメソッドに加え、new() クラスメソッドを継承しています。

as_hash
as_hashlist

Sun::Solaris::Exacct::Object::Group のエクスポート

Sun::Solaris::Exacct::Object::Group にはエクスポートがありません。

Sun::Solaris::Exacct::Object::_Array モジュール

Sun::Solaris::Exacct::Object::_Array クラスは、exacct グループ内に配置されているデータアイテムの型チェックを実施するために内部で使用されます。Sun::Solaris::Exacct::Object::_Array はユーザーが直接作成するべきではありません。

Sun::Solaris::Exacct::Object::_Array 定数

Sun::Solaris::Exacct::Object::_Array には定数がありません。

Sun::Solaris::Exacct::Object::_Array 関数、クラスメソッド、およびオブジェクトメソッド

Sun::Solaris::Exacct::Object::_Array には関数がありません。

Sun::Solaris::Exacct::Object::_Array には内部使用のクラスメソッドがありません。

Sun::Solaris::Exacct::Object::_Array は Perl TIEARRAY メソッドを使用します。

Sun::Solaris::Exacct::Object::_Array のエクスポート

Sun::Solaris::Exacct::Object::_Array にはエクスポートがありません。