Como descubro quanto tempo um comando está sendo executado para usar o comando time?

0

Eu tenho um longo mysqldump que está sendo executado há mais de 2 dias agora (muitos 100s de GBs de dados sendo arquivados). Eu iniciei o comando com time para que eu pudesse ver quanto tempo demorava para terminar.

Existe um sinal que eu posso enviar para time para que ele imprima a quantidade de tempo decorrido desde que o comando foi executado?

    
por JoeNyland 31.07.2015 / 16:40

2 respostas

2

Eu diria que você começou com time mysqldump ... , que provavelmente usa o shell time incorporado, não /usr/bin/time ou /bin/time . Eu não acho que exista a possibilidade de imprimir a hora.

No entanto, você pode cd /proc/$(pgrep mysqldump) e verificar algumas estatísticas lá. Se tudo que você quer saber é quanto tempo passou desde que você começou, você pode simplesmente rodar

ps faxo pid,cls,stat,pri,euser,pcpu,etime,rss:8,args

que mostrará o tempo decorrido na sétima coluna como "days-hours: minutes: seconds".

    
por 31.07.2015 / 16:56
0

Se você executar ps aux | grep mysqld , a décima coluna deverá mostrar o tempo de execução do processo.

A segunda coluna mostra o ID do processo (digamos XYZ), e você pode verificar isso em tempo real executando top -pid XYZ .

    
por 31.07.2015 / 17:01