1.\"- 2.\" SPDX-License-Identifier: BSD-3-Clause 3.\" 4.\" Copyright (c) 1980, 1991, 1993 5.\" The Regents of the University of California. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. Neither the name of the University nor the names of its contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.Dd July 7, 2020 32.Dt TIME 1 33.Os 34.Sh NAME 35.Nm time 36.Nd time command execution 37.Sh SYNOPSIS 38.Nm 39.Op Fl al 40.Op Fl h | Fl p 41.Op Fl o Ar file 42.Ar utility Op Ar argument ... 43.Sh DESCRIPTION 44The 45.Nm 46utility 47executes and 48times the specified 49.Ar utility . 50After the 51.Ar utility 52finishes, 53.Nm 54writes to the standard error stream, 55(in seconds): 56the total time elapsed, 57the time used to execute the 58.Ar utility 59process and the time consumed by system overhead. 60.Pp 61The following options are available: 62.Bl -tag -width "-o file" 63.It Fl a 64If the 65.Fl o 66flag is used, append to the specified file rather than overwriting 67it. 68Otherwise, this option has no effect. 69.It Fl h 70Print times in a human friendly format. 71Times are printed in minutes, hours, 72etc.\& as appropriate. 73.It Fl l 74The contents of the 75.Em rusage 76structure are printed as well. 77.It Fl o Ar file 78Write the output to 79.Ar file 80instead of stderr. 81If 82.Ar file 83exists and the 84.Fl a 85flag is not specified, the file will be overwritten. 86.It Fl p 87Makes 88.Nm 89output POSIX.2 compliant (each time is printed on its own line). 90.El 91.Pp 92Some shells may provide a builtin 93.Nm 94command which is similar or identical to this utility. 95Consult the 96.Xr builtin 1 97manual page. 98.Pp 99If 100.Nm 101receives a 102.Dv SIGINFO 103(see the status argument for 104.Xr stty 1 ) 105signal, the current time the given command is running will be written to the 106standard output. 107.Sh ENVIRONMENT 108The 109.Ev PATH 110environment variable is used to locate the requested 111.Ar utility 112if the name contains no 113.Ql / 114characters. 115.Sh EXIT STATUS 116If 117.Ar utility 118could be timed successfully, its exit status is returned. 119If 120.Ar utility 121terminated abnormally, a warning message is output to stderr. 122If the 123.Ar utility 124was found but could not be run, the exit status is 126. 125If no 126.Ar utility 127could be found at all, the exit status is 127. 128If 129.Nm 130encounters any other error, the exit status is between 1 and 125 131included. 132.Sh EXAMPLES 133Time the execution of 134.Xr ls 1 135on an empty directory: 136.Bd -literal -offset indent 137$ /usr/bin/time ls 138 0.00 real 0.00 user 0.00 sys 139.Ed 140.Pp 141Time the execution of the 142.Xr cp 1 143command and store the result in the 144.Pa times.txt 145file. 146Then execute the command again to make a new copy and add the result to the same 147file: 148.Bd -literal -offset indent 149$ /usr/bin/time -o times.txt cp source.iso copy1.iso 150$ /usr/bin/time -a -o times.txt cp source.iso copy2.iso 151.Ed 152.Pp 153The 154.Pa times.txt 155file will contain the times of both commands: 156.Bd -literal -offset indent 157$ cat times.txt 158 0.68 real 0.00 user 0.22 sys 159 0.67 real 0.00 user 0.21 sys 160.Ed 161.Pp 162Time the 163.Xr sleep 1 164command and show the results in a human friendly format. 165Show the contents of the 166.Em rusage 167structure too: 168.Bd -literal -offset indent 169$ /usr/bin/time -l -h -p sleep 5 170real 5.01 171user 0.00 172sys 0.00 173 0 maximum resident set size 174 0 average shared memory size 175 0 average unshared data size 176 0 average unshared stack size 177 80 page reclaims 178 0 page faults 179 0 swaps 180 1 block input operations 181 0 block output operations 182 0 messages sent 183 0 messages received 184 0 signals received 185 3 voluntary context switches 186 0 involuntary context switches 187.Ed 188.Sh SEE ALSO 189.Xr builtin 1 , 190.Xr csh 1 , 191.Xr getrusage 2 , 192.Xr wait 2 193.Sh STANDARDS 194The 195.Nm 196utility is expected to conform to 197.St -iso9945-2-93 198.Sh HISTORY 199A 200.Nm 201utility appeared in 202.At v3 . 203