Acabei de executar um processo de longa execução no prompt do bash. Em retrospectiva, eu gostaria de ter corrido time
, ou anotado o horário em que o iniciei.
Existe alguma maneira de obter essas informações retrospectivamente? A .bash_history
não parece incluem timestamps.
No meu caso particular, é o Mac OS X, mas estou interessado em soluções gerais para Unix / Linux.
Para esclarecer, o processo foi concluído e eu prefiro não executá-lo novamente, a menos que seja absolutamente necessário!
bash
osx
command-history
timestamps
audit
Graham Borland
fonte
fonte
Respostas:
bash
na verdade lembra os tempos até você fechar o shell.Então tente correr
Se você também colocar
no seu
~/.bashrc
, ele também será gravado~/.bash_history
na saída, para que você possa verificar o que aconteceu nas sessões anteriores do shell.fonte
A resposta de Mikel é boa, exceto que se você executar o programa e se afastar por um tempo, não poderá ter certeza de quando o processo foi concluído. Portanto, mesmo se você tiver tempo para iniciar o programa, não saberá quanto tempo levou.
Não tenho uma solução para o caso, quando você precisa descobrir sem preparação. No entanto, se você fizer isso novamente, poderá fazer como eu: imprima a hora atual junto com o prompt do shell. Dessa forma, se você ainda tiver o terminal aberto, poderá ver a hora em que iniciou o programa e a hora em que o próximo prompt será impresso. Um pouco de matemática lhe dará o tempo de execução.
Para fazer isso
bash
, coloque isso no seu.bashrc
:Em
zsh
, coloque isso em seu.zshrc
:O texto acima dará ao seu prompt de shell um formato de
<time> <username>@<hostname> <current dir> <$ or % or #>
. Para conchas diferentes e avisos extravagantes malucos , leia a página de manual do seu shell.Nota: isso provavelmente não ajudará se você precisar de alta precisão ou se o programa produz tanta saída que você não consegue ver o prompt anterior.
fonte
Se o processo ainda estiver em execução, você poderá usar
ps
o tempo para iniciar e quanto tempo de CPU foi usado.Por exemplo, para todos os processos:
Para um pid específico (12345):
fonte
ps
no linux, ops
no MacOSX pode ser BSD e não tenho certeza dos argumentos.lastcomm (se a contabilidade do processo BSD estiver ativada) fornecerá a duração da execução (em um sentido limitado que pode ou não ser adequado).
fonte