time(1)
NAME
time - time a simple command
SYNOPSIS
time [-p] utility [argument...]
DESCRIPTION
The time utility invokes utility operand with argument, and
writes a message to standard error that lists timing statis-
tics for utility. The message includes the following infor-
mation:
o The elapsed (real) time between invocation of utility
and its termination.
o The User CPU time, equivalent to the sum of the
tms_utime and tms_cutime fields returned by the
times(2) function for the process in which utility is
executed.
o The System CPU time, equivalent to the sum of the
tms_stime and tms_cstime fields returned by the
times() function for the process in which utility is
executed.
When time is used as part of a pipeline, the times reported
are unspecified, except when it is the sole command within a
grouping command in that pipeline. For example, the commands
on the left are unspecified; those on the right report on
utilities a and c, respectively:
time a | b | c { time a } | b | c
a | b | time c a | b | (time c)
OPTIONS
The following option is supported:
-p Writes the timing output to standard error in the fol-
lowing format:
real %f\nuser %f\nsys %f\n < real seconds>, <user seconds>,
<system seconds>
OPERANDS
The following operands are supported:
utility
The name of the utility that is to be invoked.
argument
Any string to be supplied as an argument when invoking
utility.
USAGE
The time utility returns exit status 127 if an error occurs
so that applications can distinguish "failure to find a
utility" from "invoked utility exited with an error indica-
tion." The value 127 was chosen because it is not commonly
used for other meanings. Most utilities use small values for
"normal error conditions" and the values above 128 can be
confused with termination due to receipt of a signal. The
value 126 was chosen in a similar manner to indicate that
the utility could be found, but not invoked.
EXAMPLES
Example 1: Using the time command
It is frequently desirable to apply time to pipelines or
lists of commands. This can be done by placing pipelines and
command lists in a single file. This single file can then be
invoked as a utility, and the time applies to everything in
the file.
Alternatively, the following command can be used to apply
time to a complex command:
example% time sh -c 'complex-command-line'
Example 2: Using time in the csh shell
The following two examples show the differences between the
csh version of time and the version in /usr/bin/time. These
examples assume that csh is the shell in use.
example% time find / -name csh.1 -print
/usr/share/man/man1/csh.1
95.0u 692.0s 1:17:52 16% 0+0k 0+0io 0pf+0w
See csh(1) for an explanation of the format of time output.
example% /usr/bin/time find / -name csh.1 -print
/usr/share/man/man1/csh.1
real 1:23:31.5
user 1:33.2
sys 11:28.2
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of time: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH, and PATH.
EXIT STATUS
If utility is invoked, the exit status of time will be the
exit status of utility. Otherwise, the time utility will
exit with one of the following values:
1-125 An error occurred in the time utility.
126 utility was found but could not be invoked.
127 utility could not be found.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
SEE ALSO
csh(1), shell_builtins(1), timex(1), times(2), attri-
butes(5), environ( 5), standards(5)
NOTES
When the time command is run on a multiprocessor machine,
the total of the values printed for user and sys can exceed
real. This is because on a multiprocessor machine it is
possible to divide the task between the various processors.
When the command being timed is interrupted, the timing
values displayed may not always be accurate.
BUGS
Elapsed time is accurate to the second, while the CPU times
are measured to the 100th second. Thus the sum of the CPU
times can be up to a second larger than the elapsed time.
Man(1) output converted with
man2html