'\" te
.\" Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
.\" Copyright 1989 AT&T
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH ACCTPRC 1M "Jul 15, 2004"
.SH NAME
acctprc, acctprc1, acctprc2 \- process accounting
.SH SYNOPSIS
.LP
.nf
\fB/usr/lib/acct/acctprc\fR
.fi

.LP
.nf
\fB/usr/lib/acct/acctprc1\fR [\fIctmp\fR]
.fi

.LP
.nf
\fB/usr/lib/acct/acctprc2\fR
.fi

.SH DESCRIPTION
.sp
.LP
\fBacctprc\fR reads the standard input and converts it to total accounting
records (see the \fBtacct\fR record in \fBacct.h\fR(3HEAD)). \fBacctprc\fR
divides CPU time into prime time and non-prime time and determines mean memory
size (in memory segment units). \fBacctprc\fR then summarizes the \fBtacct\fR
records, according to user IDs, and adds login names corresponding to the user
IDs. The summarized records are then written to the standard output.
\fBacctprc1\fR reads input in the form described by \fBacct.h\fR(3HEAD), adds
login names corresponding to user \fBIDs,\fR then writes for each process an
\fBASCII\fR line giving user \fBID,\fR login name, prime \fBCPU\fR time (tics),
non-prime \fBCPU\fR time (tics), and mean memory size (in memory segment
units). If \fIctmp\fR is given, it should contain a list of login sessions
sorted by user \fBID\fR and login name. If this file is not supplied, it
obtains login names from the password file, just as \fBacctprc\fR does. The
information in \fIctmp\fR helps it distinguish between different login names
that share the same user \fBID.\fR
.sp
.LP
From the standard input, \fBacctprc2\fR reads records in the form written by
\fBacctprc1\fR, summarizes them according to user \fBID\fR and name, then
writes the sorted summaries to the standard output as total accounting records.
.SH EXAMPLES
.LP
\fBExample 1 \fRExamples of \fBacctprc\fR.
.sp
.LP
The \fBacctprc\fR command is typically used as shown below:

.sp
.in +2
.nf
example% acctprc \|< /var/adm/pacct \|> ptacct
.fi
.in -2
.sp

.sp
.LP
The \fBacctprc1\fR and \fBacctprc2s\fR commands are typically used as shown
below:

.sp
.in +2
.nf
example% acctprc1 \|ctmp \|</var/adm/pacct
example% acctprc2 > ptacct
.fi
.in -2
.sp

.SH FILES
.sp
.ne 2
.na
\fB\fB/etc/passwd\fR\fR
.ad
.RS 15n
system password file
.RE

.SH SEE ALSO
.sp
.LP
\fBacctcom\fR(1), \fBacct\fR(1M), \fBacctcms\fR(1M), \fBacctcon\fR(1M),
\fBacctmerg\fR(1M), \fBacctsh\fR(1M), \fBcron\fR(1M), \fBfwtmp\fR(1M),
\fBrunacct\fR(1M), \fBacct\fR(2), \fBacct.h\fR(3HEAD), \fButmpx\fR(4),
\fBattributes\fR(5)
.SH NOTES
.sp
.LP
Although it is possible for \fBacctprc1\fR to distinguish among login names
that share user \fBIDs\fR for commands run from a command line, it is difficult
for \fBacctprc1\fR to make this distinction for commands invoked in other ways.
A command run from \fBcron\fR(1M) is an example of where \fBacctprc1\fR might
have difficulty. A more precise conversion can be done using the \fBacctwtmp\fR
program in \fBacct\fR(1M). \fBacctprc\fR does not distinguish between users
with identical user IDs.
.sp
.LP
A memory segment of the mean memory size is a unit of measure for the number of
bytes in a logical memory segment on a particular processor.
.sp
.LP
During a single invocation of any given command, the \fBacctprc\fR,
\fBacctprc1\fR, and \fBacctprc2\fR commands can process a maximum of
.RS +4
.TP
.ie t \(bu
.el o
6000 distinct sessions
.RE
.RS +4
.TP
.ie t \(bu
.el o
1000 distinct terminal lines
.RE
.RS +4
.TP
.ie t \(bu
.el o
2000 distinct login names
.RE
.sp
.LP
If at some point the actual number of any one of these items exceeds the
maximum, the command will not succeed.