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

개요

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

putacct(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_un‐
       pack_object() (see ea_pack_object(3EXACCT))  and  subsequently  manipu‐
       lated  using  the  functions of the extended accounting library, libex‐
       acct(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 re‐
       turned by ea_pack_object(3EXACCT). The use of an inappropriate flag  or
       the  inclusion of corrupt exacct data will likely corrupt the enclosing
       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  id‐
                     type_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 inactive.


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


       ESRCH         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 _ Interface  StabilityCommitted  _  MT-LevelAsync-Signal-
       Safe _ StandardNone


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

HISTORY
       The  Extended  Accounting facility, including the getacct(), putacct(),
       and wracct() functions, was added in the Solaris 8 release.

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