getacct(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

getacct(2)

getacct(2)                       System Calls                       getacct(2)



NAME
       getacct, putacct, wracct - get, put, or write extended accounting data

SYNOPSIS
       #include <sys/exacct.h>

       size_t getacct(idtype_t idtype, id_t id, void *buf, size_t bufsize);


       int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize, int flags);


       int wracct(idtype_t idtype, id_t id, int flags);

DESCRIPTION
       These functions provide access to the extended accounting facility.


       The  getacct()  function  returns  extended accounting buffers from the
       kernel for currently executing tasks and processes. The resulting  data
       buffer   is   a  packed  exacct  object  that  can  be  unpacked  using
       ea_unpack_object()  (see  ea_pack_object(3EXACCT))   and   subsequently
       manipulated  using  the  functions  of the extended accounting library,
       libexacct(3LIB).


       The putacct() function provides privileged processes the ability to tag
       accounting  records  with additional data specific to that process. For
       instance, a queueing facility might want to record  to  which  queue  a
       given  task  or process was submitted prior to running. The flags argu‐
       ment determines whether the contents of buf should be  treated  as  raw
       data (EP_RAW) or as an embedded exacct structure (EP_EXACCT_OBJECT). In
       the case of EP_EXACCT_OBJECT, buf must be a  packed  exacct  object  as
       returned  by  ea_pack_object(3EXACCT). The use of an inappropriate flag
       or the inclusion of corrupt exacct data will likely corrupt the enclos‐
       ing exacct file.


       The  wracct() function requests the kernel to write, given its internal
       state of resource usage, the appropriate data for the specified task or
       process.  The  flags field determines whether a partial (EW_PARTIAL) or
       interval record (EW_INTERVAL) is written.


       These functions require the {PRIV_SYS_ACCT} privilege,  as  they  allow
       inquiry  or reporting relevant to system tasks and processes other than
       the invoking process. The putacct() and wracct() functions  also  cause
       the kernel to write records to the system's extended accounting files.

RETURN VALUES
       The  getacct()  function returns the number of bytes required to repre‐
       sent the extended accounting record for the requested  system  task  or
       process. If bufsize exceeds the returned size, buf will contain a valid
       accounting record buffer. If bufsize is less than the return value, buf
       will  contain  the  first bufsize bytes of the record. If bufsize is 0,
       getacct() returns only the number of bytes required  to  represent  the
       extended accounting record. In the event of failure, −1 is returned and
       errno is set to indicate the error.


       The putacct() and wracct() functions return 0 if the  record  was  suc‐
       cessfully  written. Otherwise, −1 is returned and errno is set to indi‐
       cate the error.

ERRORS
       The getacct(), putacct(), and wracct() functions will fail if:

       EINVAL        The idtype argument was not P_TASKID or P_PID.


       ENOSPC        The file system containing the extended  accounting  file
                     is  full. The wracct() or putacct() function will fail if
                     the record size would exceed the amount of space  remain‐
                     ing on the file system.


       ENOTACTIVE    The   extended  accounting  facility  for  the  requested
                     idtype_t is not active.  Either  putacct()  attempted  to
                     write  a  task  record  when the task accounting file was
                     unset, or getacct() attempted to retrieve accounting data
                     for  a process when extended process accounting was inac‐
                     tive.


       EPERM         The {PRIV_SYS_ACCT} privilege  is  not  asserted  in  the
                     effective set of the calling process.


       ERSCH         The id argument does not refer to a presently active sys‐
                     tem task ID or process ID.



       The putacct() and wracct() functions will fail if:

       EINVAL    The flags argument is neither EW_PARTIAL nor EW_INTERVAL.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; lw(2.75i) |lw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ MT-LevelAsync-Signal-Safe


SEE ALSO
       libexacct(3LIB), ea_pack_object(3EXACCT), attributes(7), standards(7)



Oracle Solaris 11.4               3 Nov 2021                        getacct(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3