Получите время, потраченное процессом в Linux
Я хочу измерить время, необходимое для резервного копирования базы данных PostgresSql, я знаю, что могу сделать time pg_dump ....
, но что, если я уже запустил команду pg_dump?
Процесс уже занял больше получаса, и я не хочу нарушать его, знаете. Я уверен, что это займет еще один час (и я буду дома в это время). Я хотел бы знать завтра, сколько времени это заняло.
3 ответа
Решение
Вы пишете это в файл, не так ли? Время модификации файла будет вашим ответом.
Просто покажи время начала
ps -ax -o cmd,lstart | grep pg_dump
Или отметка времени
ls --time-style=+%s -ld /proc/PROCESS_PID
Или прошло
ls --time-style=+%s -ld /proc/PROCESS_PID | cut -d " " -f6 | \
xargs echo "`date +%s` - $1" | bc
Найди pid своего процесса, скажи 999
запустите это:
while ps -p 999 -o pid; do date; sleep 20; done
в оболочке. вышесказанное прекратит работу, когда ваш процесс будет завершен.
Вы можете спать больше, если гранулярность, которую вы хотите, больше.