xactl(1m) xactl(1m) NAME xactl - extended accounting control SYNOPSIS xactl [options...] subcommand DESCRIPTION The xactl command is used to query or modify extended accounting behavior on a running system. The particular operation to be performed is specified by subcommand, which may be in upper, lower or mixed case. The valid subcommands are: allownew Permits any member of an array session to start a new array session using the newarraysess(2) system call. The handle of the array session is specified with the -ash option. The user must be privileged to invoke this subcommand. Notice that it is normally the case that a member of an array session can invoke newarraysess successfully; allownew would be used to undo a previous restrictnew subcommand. flushallsessions Similar to the flushsession subcommand, except that accounting information for all array sessions that are currently active will be flushed. The user must be privileged to invoke this subcommand. flushsession Flushes any accounting information that has been accumulated for a particular array session. The handle of the array session is specified with the -ash option. If array session accounting is active (see extacct(5)), then a record reporting the resource usage information that has been accumulated by the array session will be written. Array session accounting records that are written using this operation will be marked as "flushed" to indicate that subsequent records for the same array session may be forthcoming. Under normal circumstances, the resource usage for an array session only includes the resources used by processes that have already terminated; the flushed accounting data will not include the resources used by any members of the array session that are still running. The user must be privileged to invoke this subcommand. getdfltspi Prints the current default Service Provider Information, which will be used to identify all array sessions that do not override the system default. getdfltspilen Prints the number of bytes of storage that is allocated to each new array session for Service Provider Information. getsaf Prints the current session accounting format (typically "1" or "2"). getspi Prints the Service Provider Information associated with a particular array session. The handle of the array session is specified with the -ash option. getspilen Prints the number of bytes of storage that have been allocated for Service Provider Information in a particular array session. The handle of the array session is specified with the -ash option. restrictnew Restricts any member of an array session from starting a new array session using the newarraysess(2) system call; any attempt to do so will result in an EPERM error. The handle of the array session is specified with the -ash option. This restriction can be removed later using the allownew subcommand. sessioninfo Prints any accounting information that has been accumulated for a particular array session. The handle of the array session is specified with the -ash option. If the array session's accounting information has been flushed, then the accumulated charged accounting data from the time of the last flush will also be printed. Note that if session accounting has not been enabled in the system, then most data will appear as "0". setdfltspi Set the default Service Provider Information that is to be assigned to any array session which has not set its own Service Provider Information. This will take effect immediately, even for running array sessions. For details on SPI-info, see "Specifying Service Provider Information" below. The user must be privileged to invoke this subcommand. setdfltspilen Sets the number of bytes of storage that will be allocated to each new array session for Service Provider Information to the value specified by the -length option. The new length must be in the range of 0 to 1024. Note that once an array session has been created, it can change the amount of storage it has allocated for Service Provider Information with the setspilen subcommand or the arsop system call. The user must be privileged to invoke this subcommand. setsaf Sets the current session accounting format to the value specified by the -format option. The new format must be either "1" or "2". All subsequent session accounting records that are generated by the kernel will be in the specified format. Note that the session accounting format is different than the service provider information format. The user must be privileged to invoke this subcommand. setspi Set the Service Provider Information associated with a particular array session. The handle of the array session is specified with the -ash option. For details on specifying the new service provider information, see "Specifying Service Provider Information" below. The user must be privileged to invoke this subcommand. setspilen Changes the number of bytes of storage that is allocated for Service Provider Information in a particular array session. The handle of the array session is specified with the -ash option and the new length is specified with the -length option. The new length must be in the range of 0 to 1024. The user must be privileged to invoke this subcommand. GENERAL OPTIONS The behavior of xactl can be modified by the following options. They must be specified before the subcommand name. Options that are irrelevant to a particular subcommand will be silently ignored. -ash handle or -h handle For subcommands that act on a single array session, this specifies the handle of the specific array session. The default is to use the array session containing the process running xactl. -brief or -b Specifies that output should be briefer than normal, generally by omitting headers and other explanatory information. This would useful when xactl is called from a script. -format fmt or -f fmt Specifies a format value. For the setsaf subcommand, this would be the session accounting format, which must be either "1" or "2". For subcommands that involve service provider information, this specifies an explicit format to be used when parsing command line options and/or printing the service provider information (see below for more details). In this case, valid values are "0", "1" or "2". -length length or -l length For the setdfltspilen and setspilen subcommands, this specifies the new length of the service provider information buffer. For subcommands that involve the service provider information itself, this specifies the number of bytes of service provider information that should actually be read or written for the array session. If this is less than the amount of storage allocated to the array session for service provider information, then any remaining storage will be padded with zeroes. In this case the default is to use exactly as many bytes as have been allocated to the array session for service provider information (see getdfltspilen and getspilen). SPECIFYING SERVICE PROVIDER INFORMATION The setspi and setdfltspi subcommands allow the user to specify the service provider information associated with a particular array session or the default system settings, respectively. Because service provider information is typically made up of several free-format fields, it may take several command line options to fully specify it. For more information on service provider information, see array_services(5). Both format 1 and format 2 service provider information are supported, as well as a "format 0", which indicates unformatted data. The format to be used can normally be inferred by xactl from the current length of the array session's service provider information: a length of 64 implies format 1, a length of 128 implies format 2, and any other length implies "format 0". However, the -format option can be used to explicitly force a particular format to be used. Format 0 Options These options are mutually exclusive with each other and incompatible with the Format 1 and Format 2 options. -clear Reset the service provider information to zeroes. -default Reset the service provider information to the system default (same as -clear for the setdfltspi subcommand). -fill byte Fill the entire service provider information area with the value byte, an unsigned single-byte value. Format 1 Options These options are incompatible with the Format 0 options. They also cannot be specified if the current length of the affected service provider information area is less than 64 bytes. These options can by specified for Format 2 as well. -company string string contains up to 8 bytes of (typically ASCII) data to be stored in the spi_company field of the service provider information. -initiator string string contains up to 8 bytes of data to be stored in the spi_initiator field of the service provider information. -origin string string contains up to 16 bytes of data to be stored in the spi_origin field of the service provider information. -spi string string contains up to 16 bytes of data to be stored in the spi_spi field of the service provider information. Format 2 Options These options are incompatible with the Format 0 options. They also cannot be specified if "-format 1" was specified, or if the current length of the affected service provider information area is less than 128 bytes. -jobname string string contains up to 32 bytes of data to be stored in the spi_jobname field of the service provider information. -subtime ticks ticks is a signed 64-bit value to be stored in the spi_subtime field of the service provider information. -exectime ticks ticks is a signed 64-bit value to be stored in the spi_exectime field of the service provider information. -waittime ticks ticks is a signed 64-bit value to be stored in the spi_waittime field of the service provider information. NOTES Extended accounting is not generally enabled in IRIX by default. See extacct(5) for more details on using extended accounting. SEE ALSO arsctl(2), arsop(2), array_sessions(5), extacct(5). Page 5