Acabo de ejecutar un proceso de larga ejecución desde el indicador bash. En retrospectiva, desearía time
haberlo corrido , o haber anotado el momento en que lo inicié.
¿Hay alguna forma de obtener esta información de forma retrospectiva? El .bash_history
no parece incluir marcas de tiempo.
En mi caso particular, es Mac OS X, pero estoy interesado en las soluciones generales de Unix / Linux.
Para aclarar, el proceso ya se ha completado, ¡y prefiero no volver a ejecutarlo a menos que sea absolutamente necesario!
bash
osx
command-history
timestamps
audit
Graham Borland
fuente
fuente
Respuestas:
bash
en realidad recuerda los tiempos hasta que cierra el caparazón.Así que intenta correr
Si también pones
en su
~/.bashrc
, también se escribirá~/.bash_history
en la salida, para que pueda verificar lo que sucedió en las sesiones de shell anteriores también.fuente
La respuesta de Mikel es buena, excepto que si ejecuta el programa y se va por un tiempo, no puede estar seguro de cuándo finalizó el proceso. Entonces, incluso si tiene el tiempo cuando comenzó el programa, no sabe cuánto tiempo le llevó.
No tengo una solución para el caso cuando necesitas averiguarlo sin preparación. Sin embargo, si va a hacer eso nuevamente, puede hacer lo mismo que yo: imprima la hora actual junto con el indicador de comandos de shell. De esa manera, si todavía tiene el terminal abierto, puede ver la hora en que inició el programa y la hora en que se imprime el siguiente mensaje. Un poco de matemática te dará el tiempo de ejecución.
Para hacer esto
bash
, pon esto en tu.bashrc
:En
zsh
, pon esto en tu.zshrc
:Lo anterior le dará a su shell un formato de
<time> <username>@<hostname> <current dir> <$ or % or #>
. Para diferentes conchas y locos de lujo instrucciones, lea la página del manual de su concha.Nota: esto probablemente no ayudará si necesita una alta precisión o si el programa produce tanta salida que no puede ver el mensaje anterior.
fuente
Si el proceso aún se está ejecutando, puede usarlo
ps
para obtener el tiempo de inicio y cuánto tiempo de CPU ha utilizado.Por ejemplo, para todos los procesos:
Para un pid particular (12345):
fuente
ps
en Linux,ps
en MacOSX podría ser BSD y no estoy seguro de los argumentos.lastcomm (si la contabilidad de procesos BSD está habilitada) le dará la duración de la ejecución (en un sentido limitado que puede o no ser adecuado).
fuente