Obtenha o tempo gasto por um processo no Linux

5

Eu quero medir o tempo que leva para fazer backup de um banco de dados PostgresSql, sei que posso fazer time pg_dump .... , mas e se eu já tiver lançado o comando pg_dump?.

O processo já demorou mais de meia hora, e não quero quebrar direito né. Tenho certeza que vai demorar mais uma hora (e eu vou estar em casa naquele momento). Eu gostaria de saber amanhã quanto tempo demorou.

    
por Leonardo Ramé 14.06.2012 / 22:12

3 respostas

4

Você está escrevendo isso para o arquivo, não é? O tempo de modificação do arquivo seria sua resposta.

    
por 14.06.2012 / 22:21
3

Basta mostrar a hora de início

ps -ax  -o cmd,lstart | grep pg_dump

Ou data e hora

ls --time-style=+%s -ld /proc/PROCESS_PID

Ou se esgotou

ls --time-style=+%s -ld /proc/PROCESS_PID | cut -d " " -f6 | \
xargs echo "'date +%s' - $1" | bc
    
por 14.06.2012 / 22:39
2

encontre o pid do seu processo, diga 999

execute isto:

while ps -p 999 -o pid; do  date; sleep 20; done

em um shell. o acima será encerrado quando o processo for concluído.

você pode dormir mais se a granularidade desejada for maior.

    
por 14.06.2012 / 22:29