Obtenga el tiempo que tardó en ejecutar el comando anterior en Linux (sin volver a ejecutar ese comando)

3

Sé que el timecomando te permite cronometrar la ejecución de un comando dado. Pero, ¿es posible obtener el tiempo de ejecución del comando anterior sin volver a ejecutar ese comando anterior?

Bentley4
fuente
2
Solo si se registra algo en algún lugar al principio y al final de su ejecución, y ambas entradas incluyen una marca de tiempo.
Sammitch

Respuestas:

11

Si corres alrededor de la cuadra y no mides la cantidad de tiempo que tomó, no miraste ningún reloj antes, durante o después y nadie te vio hacerlo, tampoco sabes cuánto tiempo toma en promedio; ¿podrías decir cuánto tiempo te llevó correr alrededor de la manzana?

No.


En el mejor de los casos, puede saber cuándo lanzó una determinada aplicación.

HISTTIMEFORMAT="%F %T " history

Pero eso no le dice cuándo ha terminado, lo que deberá deducir, si es posible.

Tamara Wijsman
fuente
3
Podría haber sido posible que la duración de cada comando se almacenara temporalmente en algún lugar. Me hubiera sorprendido que fuera así, pero no es que no me haya sorprendido antes, no es necesario ser condescendiente. Sin embargo, es bueno saber ese comando para saber cuándo se lanzó un comando, gracias.
Bentley4
3
@ Bentley4: Si hubiera tal cosa, habría habido una opción para eso en el núcleo; hay opciones para eso, pero estas son herramientas de rastreo que no están habilitadas de manera predeterminada, lo que hace que sea necesario activar el rastreo por adelantado. Lo único que puedo pensar es la capacidad de saber cuándo recuperó su entrada (para que pueda hacer $ input_time - $ last_history_touch), pero no sé si eso se mantiene en cualquier lugar. Tal vez pueda configurar algo preventivo que le permita determinar el tiempo de ejecución de cualquier proceso anterior en cualquier momento ...
Tamara Wijsman