TIME(1) | General Commands Manual | TIME(1) |
time - temporiza la ejecución de una orden e informa del uso del sistema
time ejecuta una orden con cualquier opción ARGS que se le añada. Una vez que ORDEN termina, time nos muestra (por defecto a través de la salida de error estándar) el informe de los recursos empleados por esta ORDEN. en caso de que finalice son un estado de salida diferente a cero, time mostrará un aviso y el código de ese estado de salida.
time utliza la cadena FORMATO para decidir qué información mostrar acerca de la ejecución de ORDEN. Si no se especifica ningún formato junto a la orden, se usará el valor de la variable de entorno TIME y si no está definida, time usará el formato por defecto.
Las opciones de la orden time tienen que indicarse antes de ORDEN ya que todo lo que vaya después se entiende como opciones de ésta última orden.
La cadena FORMATO define el contenido de la salida de
TIME Este formato se puede definir mediante las opciones `-f' o
`--format', `-v' o `--verbose', o bien `-p' o `--portability'. Si no se da
ninguna de estas opciones pero sí se define la variable de entorno
time se usará su valor. Por defecto, el formato es el
siguiente:
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
La cadena de formato suele estar formada por `especificadores de recursos' intercalados entre el resto de la cadena. El símbolo de porcentaje (`%') en la cadena hará que el siguiente carácter sea interpretado como uno de esos especificadores de recursos. Esto es muy parecido al formato de la función printf.
Una barra invertida (`\') hará que se interprete el caracter siguiente imprimiéndose un único carácter. Así, `\t' imprime una tabulación, `\n' imprime un salto de línea y `\\' imprimirá una barra invertida. Si ponemos cualquier otro caracter a continuación de la barra invertida, saldrá un interrogante (`?') seguido de una barra invertida para indicarnos que insertamos una secuencia de escape inválida.
Cualquier otra cadena de texto se enviará directamente a la salida. time siempre imprime un salto de línea seguidamente a la información que nos da por lo que las cadenas de formato no suelen terminar con un salto de línea (`\n').
Existen varios especificadores de recursos y no todos están disponibles en todas las versiones de Unix por lo algunos de sus valores estarán están siempre a cero. Cualquier carácter que pongamos a continuación del símbolo de porcentaje y que no aparezca en la tabla a continuación se traducirá en un interrogante (`?') al imprimir el resultado para indicar que se introdujo un especificador de recursos no válido.
Los especificadores de recursos, conjunto superior de aquellos reconocidos por la orden `time' propia de tcsh son lo siguientes:
Para ejecutar la orden 'wc /etc/hosts' y ver la información
por defecto:
time wc /etc/hosts
Temporización de la orden `ls -Fs' mostrando solo el
usuario, el sistema y la totalización time:
time -f "\t%E real,\t%U user,\t%S sys" ls -Fs
Para editar el archivo BORK y que `time' añade el tiempo
transcurrido y el código de las señales al archivo `log'
tomando el formato de la variable de entorno `TIME':
export TIME="\t%E,\t%k" # Si usa la shell bash o ksh
setenv TIME "\t%E,\t%k" # Si usa csh or tcsh
time -a -o log emacs bork
Los usuarios de la shell bash necesitan indicar
expresamente la ruta para ejecutar la orden externa time sino se
ejecutará la que viene incluida en la propia shell. En los sistemas
donde esté instalado en /usr/bin, el primer ejemplo
sería
/usr/bin/time wc /etc/hosts
El tiempo transcurrido no se recoge de forma separada para la ejecución del programa por lo que, aunque improbable, puede ocurrir que se registre un tiempo mucho mayor que el real. Esto se daría si time se detiene o se reinicia en el transcurso de la temporización.
Cuano el tiempo de ejecución de una orden es casi nulo, algunos valores como el porcentaje de CPU empleado puede salir a cero o con un interrogante.
La mayor parte de la información dada por time proviene de la llamada del sistema wait3(2), por lo que ésta será tan exacta como lo sea wait3(2). En lo sistemas que no tengan esa llamada wait3(2), se usará en su lugar time(2) aunque aporte muchos menos datos y se pueden ver la mayoría de ellos a cero.
Los valores `%I' y `%O' supuestamente correponden únicamente a entrada/salida `real' sin incluir los de los dispositivos de almacenamiento de caché. El significado de I/O `real' puede resultar confuso sobretodo en el caso de aquellas sin disco.
La orden time nos da información cuando el programa sale, termina por si solo o porque recibe alguna señal. Si el programa termina normalmente, time nos dará la salida del programa que analizó. Si no es así, nos dará un valor de salida de 128 más el número de señal que provocó la finalización del programa.
time fue escrito por David MacKenzie. Esta página de manual fue añadida por Dirk Eddelbuettel <edd@debian.org> para su uso en Debian GNU/Linux pero puede ser usada por otras distribuciones.
La traducción al español de esta página del manual fue creada por Jorge Rodriguez (A.K.A. Tiriel) <tiriel@users.sourceforge.net> y Marcos Fouces <marcos@debian.org>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.
Debian GNU/Linux |