--- time-1.7.orig/configure.in +++ time-1.7/configure.in @@ -1,11 +1,8 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(time.c) -VERSION=1.7 -AC_SUBST(VERSION) -PACKAGE=time -AC_SUBST(PACKAGE) +AM_INIT_AUTOMAKE(time, 1.7) -AC_ARG_PROGRAM +AM_MAINTAINER_MODE dnl Checks for programs. AC_PROG_CC @@ -15,7 +12,7 @@ dnl Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(unistd.h string.h sys/rusage.h) +AC_CHECK_HEADERS(unistd.h string.h sys/rusage.h sys/resource.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST --- time-1.7.orig/version.texi +++ time-1.7/version.texi @@ -1,3 +1,3 @@ -@set UPDATED 12 June 1996 +@set UPDATED 9 May 2002 @set EDITION 1.7 @set VERSION 1.7 --- time-1.7.orig/time.c +++ time-1.7/time.c @@ -147,6 +147,10 @@ NULL }; + +/* If true, do not show the exit message */ +static boolean quiet; + /* If true, show an English description next to each statistic. */ static boolean verbose; @@ -172,6 +176,7 @@ {"help", no_argument, NULL, 'h'}, {"output-file", required_argument, NULL, 'o'}, {"portability", no_argument, NULL, 'p'}, + {"quiet", no_argument,NULL, 'q'}, {"verbose", no_argument, NULL, 'v'}, {"version", no_argument, NULL, 'V'}, {NULL, no_argument, NULL, 0} @@ -333,7 +338,8 @@ else if (WIFSIGNALED (resp->waitstatus)) fprintf (fp, "Command terminated by signal %d\n", WTERMSIG (resp->waitstatus)); - else if (WIFEXITED (resp->waitstatus) && WEXITSTATUS (resp->waitstatus)) + else if (WIFEXITED (resp->waitstatus) && WEXITSTATUS (resp->waitstatus) + && !quiet) fprintf (fp, "Command exited with non-zero status %d\n", WEXITSTATUS (resp->waitstatus)); @@ -523,6 +529,7 @@ char *format; /* Format found in environment. */ /* Initialize the option flags. */ + quiet = false; verbose = false; outfile = NULL; outfp = stderr; @@ -536,7 +543,7 @@ if (format) output_format = format; - while ((optc = getopt_long (argc, argv, "+af:o:pvV", longopts, (int *) 0)) + while ((optc = getopt_long (argc, argv, "+af:o:pqvV", longopts, (int *) 0)) != EOF) { switch (optc) @@ -555,6 +562,9 @@ case 'p': output_format = posix_format; break; + case 'q': + quiet = true; + break; case 'v': verbose = true; break; @@ -642,9 +652,9 @@ fflush (outfp); if (WIFSTOPPED (res.waitstatus)) - exit (WSTOPSIG (res.waitstatus)); + exit (WSTOPSIG (res.waitstatus) + 128); else if (WIFSIGNALED (res.waitstatus)) - exit (WTERMSIG (res.waitstatus)); + exit (WTERMSIG (res.waitstatus) + 128); else if (WIFEXITED (res.waitstatus)) exit (WEXITSTATUS (res.waitstatus)); } @@ -657,7 +667,7 @@ fprintf (stream, "\ Usage: %s [-apvV] [-f format] [-o file] [--append] [--verbose]\n\ [--portability] [--format=format] [--output=file] [--version]\n\ - [--help] command [arg...]\n", + [--quiet] [--help] command [arg...]\n", program_name); exit (status); } --- time-1.7.orig/resuse.h +++ time-1.7/resuse.h @@ -36,19 +36,8 @@ # include <sys/rusage.h> #else # define TV_MSEC tv_usec / 1000 -# if HAVE_WAIT3 +# if HAVE_SYS_RESOURCE_H # include <sys/resource.h> -# else -/* Process resource usage structure. */ -struct rusage -{ - struct timeval ru_utime; /* User time used. */ - struct timeval ru_stime; /* System time used. */ - int ru_maxrss, ru_ixrss, ru_idrss, ru_isrss, - ru_minflt, ru_majflt, ru_nswap, ru_inblock, - ru_oublock, ru_msgsnd, ru_msgrcv, ru_nsignals, - ru_nvcsw, ru_nivcsw; -}; # endif #endif --- time-1.7.orig/time.texi +++ time-1.7/time.texi @@ -11,6 +11,12 @@ @finalout @end iftex +@dircategory Individual utilities +@direntry +* time: (time). Run programs and summarize + system resource usage. +@end direntry + @ifinfo This file documents the the GNU @code{time} command for running programs and summarizing the system resources they use. @@ -185,6 +191,10 @@ sys %S @end example +@item -q +@itemx --quiet +Suppress non-zero error code from the executed program. + @item -v @itemx --verbose @cindex format --- time-1.7.orig/time.info +++ time-1.7/time.info @@ -1,5 +1,10 @@ -This is Info file ./time.info, produced by Makeinfo-1.55 from the input -file time.texi. +This is time.info, produced by makeinfo version 4.1 from time.texi. + +INFO-DIR-SECTION Individual utilities +START-INFO-DIR-ENTRY +* time: (time). Run programs and summarize + system resource usage. +END-INFO-DIR-ENTRY This file documents the the GNU `time' command for running programs and summarizing the system resources they use. @@ -31,7 +36,7 @@ * Resource Measurement:: Measuring program resource use. - -- The Detailed Node Listing -- + --- The Detailed Node Listing --- Measuring Program Resource Use @@ -58,14 +63,14 @@ The `time' command runs another program, then displays information about the resources used by that program, collected by the system while the program was running. You can select which information is reported -and the format in which it is shown (*note Setting Format::.), or have +and the format in which it is shown (*note Setting Format::), or have `time' save the information in a file instead of displaying it on the -screen (*note Redirecting::.). +screen (*note Redirecting::). The resources that `time' can report on fall into the general categories of time, memory, and I/O and IPC calls. Some systems do not provide much information about program resource use; `time' reports -unavailable information as zero values (*note Accuracy::.). +unavailable information as zero values (*note Accuracy::). The format of the `time' command is: @@ -132,6 +137,10 @@ user %U sys %S +`-q' +`--quiet' + Suppress non-zero error code from the executed program. + `-v' `--verbose' Use the built-in verbose format, which displays each available @@ -174,7 +183,7 @@ The resource specifiers, which are a superset of those recognized by the `tcsh' builtin `time' command, are listed below. Not all resources are measured by all versions of Unix, so some of the values might be -reported as zero (*note Accuracy::.). +reported as zero (*note Accuracy::). * Menu: @@ -308,11 +317,11 @@ `-o FILE' `--output=FILE' Write the resource use statistics to FILE. By default, this - *overwrites* the file, destroying the file's previous contents. + _overwrites_ the file, destroying the file's previous contents. `-a' `--append' - *Append* the resource use information to the output file instead + _Append_ the resource use information to the output file instead of overwriting it. This option is only useful with the `-o' or `--output' option. @@ -437,7 +446,7 @@ `-a' `--append' - *Append* the resource use information to the output file instead + _Append_ the resource use information to the output file instead of overwriting it. `-f FORMAT' @@ -462,17 +471,17 @@ Tag Table: -Node: Top934 -Node: Resource Measurement1725 -Node: Setting Format3678 -Node: Format String4907 -Node: Time Resources6214 -Node: Memory Resources6844 -Node: I/O Resources7549 -Node: Command Info8747 -Node: Redirecting8964 -Node: Examples9754 -Node: Accuracy12064 -Node: Invoking time13586 +Node: Top1115 +Node: Resource Measurement1908 +Node: Setting Format3858 +Node: Format String5164 +Node: Time Resources6470 +Node: Memory Resources7100 +Node: I/O Resources7805 +Node: Command Info9003 +Node: Redirecting9220 +Node: Examples10010 +Node: Accuracy12320 +Node: Invoking time13842 End Tag Table --- time-1.7.orig/time.html +++ time-1.7/time.html @@ -0,0 +1,1021 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html40/loose.dtd"> +<HTML> +<!-- Created on September, 1 2003 by texi2html 1.66 --> +<!-- +Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) + Karl Berry <karl@freefriends.org> + Olaf Bachmann <obachman@mathematik.uni-kl.de> + and many others. +Maintained by: Many creative people <dev@texi2html.cvshome.org> +Send bugs and suggestions to <users@texi2html.cvshome.org> + +--> +<HEAD> +<TITLE>Measuring Program Resource Use</TITLE> + +<META NAME="description" CONTENT="Measuring Program Resource Use"> +<META NAME="keywords" CONTENT="Measuring Program Resource Use"> +<META NAME="resource-type" CONTENT="document"> +<META NAME="distribution" CONTENT="global"> +<META NAME="Generator" CONTENT="texi2html 1.66"> + +</HEAD> + +<BODY LANG="en" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000"> + +<A NAME="SEC_Top"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Measuring Program Resource Use</H1> + +<P> + +This file documents the the GNU <CODE>time</CODE> command for running programs +and summarizing the system resources they use. +This is edition 1.7, for version 1.7. +</P> +<P> + +</P> +<TABLE BORDER="0" CELLSPACING="0"> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC1">1. Measuring Program Resource Use</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Measuring program resource use.</TD></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> -- The Detailed Node Listing --- +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">Measuring Program Resource Use +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> +</TH></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC2">1.1 Setting the Output Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Selecting the information reported by <CODE>time</CODE>.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC3">1.2 The Format String</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">The information <CODE>time</CODE> can report.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC8">1.3 Redirecting Output</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Writing the information to a file.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC9">1.4 Examples</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Examples of using <CODE>time</CODE>.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC10">1.5 Accuracy</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Limitations on the accuracy of <CODE>time</CODE> output.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Summary of the options to the <CODE>time</CODE> command.</TD></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">The Format String +</TH></TR> +<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP"> +</TH></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC4">1.2.1 Time Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC5">1.2.2 Memory Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC6">1.2.3 I/O Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC7">1.2.4 Command Info</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +</TABLE> +<P> + +<HR SIZE=1> +<A NAME="SEC1"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC2"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<A NAME="Resource Measurement"></A> +<H1> 1. Measuring Program Resource Use </H1> +<!--docid::SEC1::--> +<P> + +The <CODE>time</CODE> command runs another program, then displays information +about the resources used by that program, collected by the system while +the program was running. You can select which information is reported +and the format in which it is shown (see section <A HREF="time.html#SEC2">1.1 Setting the Output Format</A>), or have +<CODE>time</CODE> save the information in a file instead of displaying it on the +screen (see section <A HREF="time.html#SEC8">1.3 Redirecting Output</A>). +</P> +<P> + +The resources that <CODE>time</CODE> can report on fall into the general +categories of time, memory, and I/O and IPC calls. Some systems do not +provide much information about program resource use; <CODE>time</CODE> +reports unavailable information as zero values (see section <A HREF="time.html#SEC10">1.5 Accuracy</A>). +</P> +<P> + +The format of the <CODE>time</CODE> command is: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>time [option<small>...</small>] <VAR>command</VAR> [<VAR>arg</VAR><small>...</small>] +</pre></td></tr></table><P> + +<A NAME="IDX1"></A> +<CODE>time</CODE> runs the program <VAR>command</VAR>, with any given arguments +<VAR>arg</VAR><small>...</small>. When <VAR>command</VAR> finishes, <CODE>time</CODE> displays +information about resources used by <VAR>command</VAR>. +</P> +<P> + +Here is an example of using <CODE>time</CODE> to measure the time and other +resources used by running the program <CODE>grep</CODE>: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>eg$ time grep nobody /etc/aliases +nobody:/dev/null +etc-files:nobody +misc-group:nobody +0.07user 0.50system 0:06.69elapsed 8%CPU (0avgtext+489avgdata 324maxresident)k +46inputs+7outputs (43major+251minor)pagefaults 0swaps +</pre></td></tr></table><P> + +Mail suggestions and bug reports for GNU <CODE>time</CODE> to +<CODE>bug-gnu-utils@prep.ai.mit.edu</CODE>. Please include the version of +<CODE>time</CODE>, which you can get by running `<SAMP>time --version</SAMP>', and the +operating system and C compiler you used. +</P> +<P> + +<TABLE BORDER="0" CELLSPACING="0"> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC2">1.1 Setting the Output Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Selecting the information reported by <CODE>time</CODE>.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC3">1.2 The Format String</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">The information <CODE>time</CODE> can report.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC8">1.3 Redirecting Output</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Writing the information to a file.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC9">1.4 Examples</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Examples of using <CODE>time</CODE>.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC10">1.5 Accuracy</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Limitations on the accuracy of <CODE>time</CODE> output.</TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Summary of the options to the <CODE>time</CODE> command.</TD></TR> +</TABLE> +<P> + +<A NAME="Setting Format"></A> +<HR SIZE="6"> +<A NAME="SEC2"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC3"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.1 Setting the Output Format </H2> +<!--docid::SEC2::--> +<P> + +<CODE>time</CODE> uses a <EM>format string</EM> to determine which information to +display about the resources used by the command it runs. See section <A HREF="time.html#SEC3">1.2 The Format String</A>, for the interpretation of the format string contents. +</P> +<P> + +You can specify a format string with the command line options listed +below. If no format is specified on the command line, but the +<CODE>TIME</CODE> environment variable is set, its value is used as the format +string. Otherwise, the default format built into <CODE>time</CODE> is used: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k +%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps +</pre></td></tr></table><P> + +The command line options to set the format are: +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>-f <VAR>format</VAR></CODE> +<DD><DT><CODE>--format=<VAR>format</VAR></CODE> +<DD>Use <VAR>format</VAR> as the format string. +<P> + +</P> +<DT><CODE>-p</CODE> +<DD><DT><CODE>--portability</CODE> +<DD>Use the following format string, for conformance with POSIX standard +1003.2: +<P> + +<TABLE><tr><td> </td><td class=example><pre>real %e +user %U +sys %S +</pre></td></tr></table><P> + +</P> +<DT><CODE>-q</CODE> +<DD><DT><CODE>--quiet</CODE> +<DD>Suppress non-zero error code from the executed program. +<P> + +</P> +<DT><CODE>-v</CODE> +<DD><DT><CODE>--verbose</CODE> +<DD><A NAME="IDX2"></A> +Use the built-in verbose format, which displays each available piece of +information on the program's resource use on its own line, with an +English description of its meaning. +</DL> +<P> + +<A NAME="Format String"></A> +<HR SIZE="6"> +<A NAME="SEC3"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC2"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC4"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.2 The Format String </H2> +<!--docid::SEC3::--> +<P> + +<A NAME="IDX3"></A> +<A NAME="IDX4"></A> +The <EM>format string</EM> controls the contents of the <CODE>time</CODE> output. +It consists of <EM>resource specifiers</EM> and <EM>escapes</EM>, interspersed +with plain text. +</P> +<P> + +A backslash introduces an <EM>escape</EM>, which is translated +into a single printing character upon output. The valid escapes are +listed below. An invalid escape is output as a question mark followed +by a backslash. +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>\t</CODE> +<DD>a tab character +<P> + +</P> +<DT><CODE>\n</CODE> +<DD>a newline +<P> + +</P> +<DT><CODE>\\</CODE> +<DD>a literal backslash +</DL> +<P> + +<CODE>time</CODE> always prints a newline after printing the resource use +information, so normally format strings do not end with a newline +character (or `<SAMP>\n</SAMP>'). +</P> +<P> + +A resource specifier consists of a percent sign followed by another +character. An invalid resource specifier is output as a question mark +followed by the invalid character. Use `<SAMP>%%</SAMP>' to output a literal +percent sign. +</P> +<P> + +The resource specifiers, which are a superset of those recognized by the +<CODE>tcsh</CODE> builtin <CODE>time</CODE> command, are listed below. Not all +resources are measured by all versions of Unix, so some of the values +might be reported as zero (see section <A HREF="time.html#SEC10">1.5 Accuracy</A>). +</P> +<P> + +<TABLE BORDER="0" CELLSPACING="0"> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC4">1.2.1 Time Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC5">1.2.2 Memory Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC6">1.2.3 I/O Resources</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="time.html#SEC7">1.2.4 Command Info</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +</TABLE> +<P> + +<A NAME="Time Resources"></A> +<HR SIZE="6"> +<A NAME="SEC4"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC3"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC5"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H3> 1.2.1 Time Resources </H3> +<!--docid::SEC4::--> +<P> + +</P> +<DL COMPACT> +<DT><CODE>E</CODE> +<DD>Elapsed real (wall clock) time used by the process, in +[hours:]minutes:seconds. +<P> + +</P> +<DT><CODE>e</CODE> +<DD>Elapsed real (wall clock) time used by the process, in +seconds. +<P> + +</P> +<DT><CODE>S</CODE> +<DD>Total number of CPU-seconds used by the system on behalf of the process +(in kernel mode), in seconds. +<P> + +</P> +<DT><CODE>U</CODE> +<DD>Total number of CPU-seconds that the process used directly (in user +mode), in seconds. +<P> + +</P> +<DT><CODE>P</CODE> +<DD>Percentage of the CPU that this job got. This is just user + system +times divied by the total running time. +</DL> +<P> + +<A NAME="Memory Resources"></A> +<HR SIZE="6"> +<A NAME="SEC5"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC4"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC6"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H3> 1.2.2 Memory Resources </H3> +<!--docid::SEC5::--> +<P> + +</P> +<DL COMPACT> +<DT><CODE>M</CODE> +<DD>Maximum resident set size of the process during its lifetime, in +Kilobytes. +<P> + +</P> +<DT><CODE>t</CODE> +<DD>Average resident set size of the process, in Kilobytes. +<P> + +</P> +<DT><CODE>K</CODE> +<DD>Average total (data+stack+text) memory use of the process, in Kilobytes. +<P> + +</P> +<DT><CODE>D</CODE> +<DD>Average size of the process's unshared data area, in Kilobytes. +<P> + +</P> +<DT><CODE>p</CODE> +<DD>Average size of the process's unshared stack, in Kilobytes. +<P> + +</P> +<DT><CODE>X</CODE> +<DD>Average size of the process's shared text, in Kilobytes. +<P> + +</P> +<DT><CODE>Z</CODE> +<DD>System's page size, in bytes. This is a per-system constant, but +varies between systems. +</DL> +<P> + +<A NAME="I/O Resources"></A> +<HR SIZE="6"> +<A NAME="SEC6"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC5"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC7"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H3> 1.2.3 I/O Resources </H3> +<!--docid::SEC6::--> +<P> + +</P> +<DL COMPACT> +<DT><CODE>F</CODE> +<DD>Number of major, or I/O-requiring, page faults that occurred while the +process was running. These are faults where the page has actually +migrated out of primary memory. +<P> + +</P> +<DT><CODE>R</CODE> +<DD>Number of minor, or recoverable, page faults. These are pages that are +not valid (so they fault) but which have not yet been claimed by other +virtual pages. Thus the data in the page is still valid but the system +tables must be updated. +<P> + +</P> +<DT><CODE>W</CODE> +<DD>Number of times the process was swapped out of main memory. +<P> + +</P> +<DT><CODE>c</CODE> +<DD>Number of times the process was context-switched involuntarily (because +the time slice expired). +<P> + +</P> +<DT><CODE>w</CODE> +<DD>Number of times that the program was context-switched voluntarily, for +instance while waiting for an I/O operation to complete. +<P> + +</P> +<DT><CODE>I</CODE> +<DD>Number of file system inputs by the process. +<P> + +</P> +<DT><CODE>O</CODE> +<DD>Number of file system outputs by the process. +<P> + +</P> +<DT><CODE>r</CODE> +<DD>Number of socket messages received by the process. +<P> + +</P> +<DT><CODE>s</CODE> +<DD>Number of socket messages sent by the process. +<P> + +</P> +<DT><CODE>k</CODE> +<DD>Number of signals delivered to the process. +</DL> +<P> + +<A NAME="Command Info"></A> +<HR SIZE="6"> +<A NAME="SEC7"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC6"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC8"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H3> 1.2.4 Command Info </H3> +<!--docid::SEC7::--> +<P> + +</P> +<DL COMPACT> +<DT><CODE>C</CODE> +<DD>Name and command line arguments of the command being timed. +<P> + +</P> +<DT><CODE>x</CODE> +<DD>Exit status of the command. +</DL> +<P> + +<A NAME="Redirecting"></A> +<HR SIZE="6"> +<A NAME="SEC8"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC7"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC9"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.3 Redirecting Output </H2> +<!--docid::SEC8::--> +<P> + +By default, <CODE>time</CODE> writes the resource use statistics to the +standard error stream. The options below make it write the statistics +to a file instead. Doing this can be useful if the program you're +running writes to the standard error or you're running <CODE>time</CODE> +noninteractively or in the background. +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>-o <VAR>file</VAR></CODE> +<DD><DT><CODE>--output=<VAR>file</VAR></CODE> +<DD>Write the resource use statistics to <VAR>file</VAR>. By default, this +<EM>overwrites</EM> the file, destroying the file's previous contents. +<P> + +</P> +<DT><CODE>-a</CODE> +<DD><DT><CODE>--append</CODE> +<DD><EM>Append</EM> the resource use information to the output file instead +of overwriting it. This option is only useful with the `<SAMP>-o</SAMP>' or +`<SAMP>--output</SAMP>' option. +</DL> +<P> + +<A NAME="Examples"></A> +<HR SIZE="6"> +<A NAME="SEC9"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC8"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC10"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.4 Examples </H2> +<!--docid::SEC9::--> +<P> + +Run the command `<SAMP>wc /etc/hosts</SAMP>' and show the default information: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>eg$ time wc /etc/hosts + 35 111 1134 /etc/hosts +0.00user 0.01system 0:00.04elapsed 25%CPU (0avgtext+0avgdata 0maxresident)k +1inputs+1outputs (0major+0minor)pagefaults 0swaps +</pre></td></tr></table><P> + +Run the command `<SAMP>ls -Fs</SAMP>' and show just the user, system, and +wall-clock time: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>eg$ time -f "\t%E real,\t%U user,\t%S sys" ls -Fs +total 16 +1 account/ 1 db/ 1 mail/ 1 run/ +1 backups/ 1 emacs/ 1 msgs/ 1 rwho/ +1 crash/ 1 games/ 1 preserve/ 1 spool/ +1 cron/ 1 log/ 1 quotas/ 1 tmp/ + 0:00.03 real, 0.00 user, 0.01 sys +</pre></td></tr></table><P> + +Edit the file `<TT>.bashrc</TT>' and have <CODE>time</CODE> append the elapsed time +and number of signals to the file `<TT>log</TT>', reading the format string +from the environment variable <CODE>TIME</CODE>: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>eg$ export TIME="\t%E,\t%k" # If using bash or ksh +eg$ setenv TIME "\t%E,\t%k" # If using csh or tcsh +eg$ time -a -o log emacs .bashrc +eg$ cat log + 0:16.55, 726 +</pre></td></tr></table><P> + +Run the command `<SAMP>sleep 4</SAMP>' and show all of the information about it +verbosely: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>eg$ time -v sleep 4 + Command being timed: "sleep 4" + User time (seconds): 0.00 + System time (seconds): 0.05 + Percent of CPU this job got: 1% + Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.26 + Average shared text size (kbytes): 36 + Average unshared data size (kbytes): 24 + Average stack size (kbytes): 0 + Average total size (kbytes): 60 + Maximum resident set size (kbytes): 32 + Average resident set size (kbytes): 24 + Major (requiring I/O) page faults: 3 + Minor (reclaiming a frame) page faults: 0 + Voluntary context switches: 11 + Involuntary context switches: 0 + Swaps: 0 + File system inputs: 3 + File system outputs: 1 + Socket messages sent: 0 + Socket messages received: 0 + Signals delivered: 1 + Page size (bytes): 4096 + Exit status: 0 +</pre></td></tr></table><P> + +<A NAME="Accuracy"></A> +<HR SIZE="6"> +<A NAME="SEC10"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC9"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC11"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.5 Accuracy </H2> +<!--docid::SEC10::--> +<P> + +The elapsed time is not collected atomically with the execution of the +program; as a result, in bizarre circumstances (if the <CODE>time</CODE> +command gets stopped or swapped out in between when the program being +timed exits and when <CODE>time</CODE> calculates how long it took to run), it +could be much larger than the actual execution time. +</P> +<P> + +When the running time of a command is very nearly zero, some values +(e.g., the percentage of CPU used) may be reported as either zero (which +is wrong) or a question mark. +</P> +<P> + +Most information shown by <CODE>time</CODE> is derived from the <CODE>wait3</CODE> +system call. The numbers are only as good as those returned by +<CODE>wait3</CODE>. Many systems do not measure all of the resources that +<CODE>time</CODE> can report on; those resources are reported as zero. The +systems that measure most or all of the resources are based on 4.2 or +4.3BSD. Later BSD releases use different memory management code that +measures fewer resources. +</P> +<P> + +On systems that do not have a <CODE>wait3</CODE> call that returns status +information, the <CODE>times</CODE> system call is used instead. It provides +much less information than <CODE>wait3</CODE>, so on those systems <CODE>time</CODE> +reports most of the resources as zero. +</P> +<P> + +The `<SAMP>%I</SAMP>' and `<SAMP>%O</SAMP>' values are allegedly only "real" input +and output and do not include those supplied by caching devices. The +meaning of "real" I/O reported by `<SAMP>%I</SAMP>' and `<SAMP>%O</SAMP>' may be +muddled for workstations, especially diskless ones. +</P> +<P> + +<A NAME="Invoking time"></A> +<HR SIZE="6"> +<A NAME="SEC11"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC10"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ > ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 1.6 Running the <CODE>time</CODE> Command </H2> +<!--docid::SEC11::--> +<P> + +The format of the <CODE>time</CODE> command is: +</P> +<P> + +<TABLE><tr><td> </td><td class=example><pre>time [option<small>...</small>] <VAR>command</VAR> [<VAR>arg</VAR><small>...</small>] +</pre></td></tr></table><P> + +<A NAME="IDX5"></A> +<CODE>time</CODE> runs the program <VAR>command</VAR>, with any given arguments +<VAR>arg</VAR><small>...</small>. When <VAR>command</VAR> finishes, <CODE>time</CODE> displays +information about resources used by <VAR>command</VAR> (on the standard error +output, by default). If <VAR>command</VAR> exits with non-zero status or is +terminated by a signal, <CODE>time</CODE> displays a warning message and the +exit status or signal number. +</P> +<P> + +Options to <CODE>time</CODE> must appear on the command line before +<VAR>command</VAR>. Anything on the command line after <VAR>command</VAR> is +passed as arguments to <VAR>command</VAR>. +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>-o <VAR>file</VAR></CODE> +<DD><DT><CODE>--output=<VAR>file</VAR></CODE> +<DD>Write the resource use statistics to <VAR>file</VAR>. +<P> + +</P> +<DT><CODE>-a</CODE> +<DD><DT><CODE>--append</CODE> +<DD><EM>Append</EM> the resource use information to the output file instead +of overwriting it. +<P> + +</P> +<DT><CODE>-f <VAR>format</VAR></CODE> +<DD><DT><CODE>--format=<VAR>format</VAR></CODE> +<DD>Use <VAR>format</VAR> as the format string. +<P> + +</P> +<DT><CODE>--help</CODE> +<DD>Print a summary of the command line options to <CODE>time</CODE> and exit. +<P> + +</P> +<DT><CODE>-p</CODE> +<DD><DT><CODE>--portability</CODE> +<DD>Use the POSIX format. +<P> + +</P> +<DT><CODE>-v</CODE> +<DD><DT><CODE>--verbose</CODE> +<DD><A NAME="IDX6"></A> +Use the built-in verbose format. +<P> + +</P> +<DT><CODE>-V</CODE> +<DD><DT><CODE>--version</CODE> +<DD><A NAME="IDX7"></A> +Print the version number of <CODE>time</CODE> and exit. +</DL> +<P> + +<HR SIZE="6"> +<A NAME="SEC_Contents"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Table of Contents</H1> +<BLOCKQUOTE> +<A NAME="TOC1" HREF="time.html#SEC1">1. Measuring Program Resource Use</A> +<BR> +<BLOCKQUOTE> +<A NAME="TOC2" HREF="time.html#SEC2">1.1 Setting the Output Format</A> +<BR> +<A NAME="TOC3" HREF="time.html#SEC3">1.2 The Format String</A> +<BR> +<BLOCKQUOTE> +<A NAME="TOC4" HREF="time.html#SEC4">1.2.1 Time Resources</A> +<BR> +<A NAME="TOC5" HREF="time.html#SEC5">1.2.2 Memory Resources</A> +<BR> +<A NAME="TOC6" HREF="time.html#SEC6">1.2.3 I/O Resources</A> +<BR> +<A NAME="TOC7" HREF="time.html#SEC7">1.2.4 Command Info</A> +<BR> +</BLOCKQUOTE> +<A NAME="TOC8" HREF="time.html#SEC8">1.3 Redirecting Output</A> +<BR> +<A NAME="TOC9" HREF="time.html#SEC9">1.4 Examples</A> +<BR> +<A NAME="TOC10" HREF="time.html#SEC10">1.5 Accuracy</A> +<BR> +<A NAME="TOC11" HREF="time.html#SEC11">1.6 Running the <CODE>time</CODE> Command</A> +<BR> +</BLOCKQUOTE> +</BLOCKQUOTE> +<HR SIZE=1> +<A NAME="SEC_OVERVIEW"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Short Table of Contents</H1> +<BLOCKQUOTE> +<A NAME="TOC1" HREF="time.html#SEC1">1. Measuring Program Resource Use</A> +<BR> + +</BLOCKQUOTE> +<HR SIZE=1> +<A NAME="SEC_About"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="time.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>About this document</H1> +This document was generated +by +using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A> +<P></P> +The buttons in the navigation panels have the following meaning: +<P></P> +<table border = "1"> +<TR> +<TH> Button </TH> +<TH> Name </TH> +<TH> Go to </TH> +<TH> From 1.2.3 go to</TH> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ < ] </TD> +<TD ALIGN="CENTER"> +Back +</TD> +<TD> +previous section in reading order +</TD> +<TD> +1.2.2 +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ > ] </TD> +<TD ALIGN="CENTER"> +Forward +</TD> +<TD> +next section in reading order +</TD> +<TD> +1.2.4 +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ << ] </TD> +<TD ALIGN="CENTER"> +FastBack +</TD> +<TD> +beginning of this chapter or previous chapter +</TD> +<TD> +1 +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ Up ] </TD> +<TD ALIGN="CENTER"> +Up +</TD> +<TD> +up section +</TD> +<TD> +1.2 +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ >> ] </TD> +<TD ALIGN="CENTER"> +FastForward +</TD> +<TD> +next chapter +</TD> +<TD> +2 +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [Top] </TD> +<TD ALIGN="CENTER"> +Top +</TD> +<TD> +cover (top) of document +</TD> +<TD> + +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [Contents] </TD> +<TD ALIGN="CENTER"> +Contents +</TD> +<TD> +table of contents +</TD> +<TD> + +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [Index] </TD> +<TD ALIGN="CENTER"> +Index +</TD> +<TD> +concept index +</TD> +<TD> + +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ ? ] </TD> +<TD ALIGN="CENTER"> +About +</TD> +<TD> +this page +</TD> +<TD> + +</TD> +</TR> +</TABLE> + <P> + where the <STRONG> Example </STRONG> assumes that the current position + is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of + the following structure:</P> + <UL> + <LI> 1. Section One + <UL> + <LI>1.1 Subsection One-One + <UL> + <LI>...</LI> + </UL> + <LI>1.2 Subsection One-Two + <UL> + <LI>1.2.1 Subsubsection One-Two-One</LI> + <LI>1.2.2 Subsubsection One-Two-Two</LI> + <LI>1.2.3 Subsubsection One-Two-Three + <STRONG><== Current Position </STRONG></LI> + <LI>1.2.4 Subsubsection One-Two-Four</LI> + </UL> + </LI> + <LI>1.3 Subsection One-Three + <UL> + <LI>...</LI> + </UL> + </LI> + <LI>1.4 Subsection One-Four</LI> + </UL> + </LI> + </UL> + +<HR SIZE=1> +<BR> +<FONT SIZE="-1"> +This document was generated +by <I>root</I> on <I>September, 1 2003</I> +using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A> +</FONT> + +</BODY> +</HTML>