Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Interface Perl para libexacct

A interface Perl permite que você crie scripts Perl que podem ler os arquivos de contabilidade produzidos pela estrutura exacct. Você também pode criar scripts Perl que gravam arquivos exacct.

A interface é funcionalmente equivalente à API C subjacente. Quando possível, os dados obtidos da API C subjacente são apresentados como tipos de dados Perl. Este recurso facilita o acesso aos dados e elimina a necessidade de pacote de buffer ou de operações de descompactação. Além disso, todo o gerenciamento da memória é executado pela biblioteca Perl.

Os vários projetos, tarefas e funções relacionados a exacct são separados em grupos. Cada grupo de funções está localizado em um módulo Perl separado. Cada módulo começa com prefixo de pacote Perl padrão da Sun Sun::Solaris::. Todas as classes fornecidas pela biblioteca Perl exacct se encontram no módulo Sun::Solaris::Exacct.

A biblioteca subjacente libexacct(3LIB) fornece operações sobre arquivos no formato exacct, etiquetas de catálogo e objetos exacct. Os objetos exacct são subdivididos em dois tipos:

O quadro abaixo resume cada um dos módulos.

Módulo (não deve conter espaços) 

Descrição 

Para obter mais informações 

Sun::Solaris::Project

Este módulo fornece funções para acessar as funções de manipulação de projeto getprojid(2), endprojent(3PROJECT) , fgetprojent(3PROJECT), getdefaultproj(3PROJECT), getprojbyid(3PROJECT), getprojbyname(3PROJECT), getprojent(3PROJECT), getprojidbyname(3PROJECT), inproj(3PROJECT), project_walk(3PROJECT), setproject(3PROJECT) e setprojent(3PROJECT).

Project(3PERL)

Sun::Solaris::Task

Este módulo fornece funções para acessar as funções de manipulação de tarefa gettaskid(2) e settaskid(2).

Task(3PERL)

Sun::Solaris::Exacct

Este módulo é o módulo exacct de nível superior. Este módulo fornece funções para acessar as chamadas do sistema relacionadas a exacct getacct(2), putacct(2) e wracct(2). Este módulo também fornece funções para acessar libexacct(3LIB) função de bibliotecaea_error(3EXACCT). Constantes para todas as macros EO_*, EW_*, EXR_*, P_* e TASK_* de exacct também são fornecidas neste módulo.

Exacct(3PERL)

Sun::Solaris::Exacct:: Catalog

Este módulo fornece métodos orientados a objeto para acessar os campos de bits em uma etiqueta de catálogo de exacct. Este módulo também fornece acesso às constantes para as macros EXC_*, EXD_* e EXD_*.

Exacct::Catalog(3PERL)

Sun::Solaris::Exacct:: File

Este módulo fornece métodos orientados a objeto para acessar as funções do arquivo de contabilidade libexacct ea_open(3EXACCT), ea_close(3EXACCT), ea_get_creator(3EXACCT), ea_get_hostname(3EXACCT), ea_next_object(3EXACCT), ea_previous_object(3EXACCT) e ea_write_object(3EXACCT).

Exacct::File(3PERL)

Sun::Solaris::Exacct:: Object

Este módulo fornece métodos orientados a objeto para acessar um objeto individual do arquivo de contabilidade exacct. Um objeto exacct é representado como uma referência opaca acolhida na subclasse Sun::Solaris::Exacct::Object apropriada. Este módulo tem nova subdivisão nos tipos de objeto Item e Grupo. Neste nível, há métodos para acessar as funções ea_match_object_catalog(3EXACCT) e ea_attach_to_object(3EXACCT).

Exacct::Object(3PERL)

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

Este módulo fornece métodos orientados a objeto para acessar um item individual do arquivo de contabilidade exacct. Objetos deste tipo herdam de Sun::Solaris::Exacct::Object.

Exacct::Object::Item(3PERL)

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

Este módulo fornece métodos orientados a objeto para acessar um grupo individual do arquivo de contabilidade exacct. Objetos deste tipo herdam de Sun::Solaris::Exacct::Object. Estes objetos fornecem acesso à função ea_attach_to_group(3EXACCT). Os itens contidos dentro do grupo são apresentados como uma matriz de Perl.

Exacct::Object::Group(3PERL)

Sun::Solaris::Kstat

Este módulo fornece uma interface hash ligada de Perl para a facilidade kstat. Um exemplo de uso para este módulo se encontra em /bin/kstat, que é gravado em Perl.

Kstat(3PERL)

Para exemplos que mostram como usar os módulos descritos na tabela anterior, consulte Uso da interface Perl para libexacct.