在Linux上获取进程花费的时间

我想测量备份PostgresSql数据库所需的时间,我知道我可以做time pg_dump ....但是如果我已经启动了pg_dump命令呢?

这个过程已经花了半个多小时了,我不想把它弄明白。 我敢肯定,这将需要一个多小时(而我当时在家)。 我想知道明天花了多less时间。

你正在写这个文件,是吗? 文件修改时间将是你的答案。

只需显示开始时间

 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 

find你的进程的PID,说999

运行这个:

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

在一个shell。 上述过程完成后将退出。

如果你想要的粒度更大,你可以睡更多。