TIME(1) User Commands 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 statistics for
utility.
The message includes the following information:
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 following
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 indication." 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(7) 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(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
SEE ALSO
csh(1),
shell_builtins(1),
timex(1),
times(2),
attributes(7),
environ(7),
standards(7)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.
February 1, 1995 TIME(1)