获取 Linux 上某个进程所花费的时间

获取 Linux 上某个进程所花费的时间

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

这个过程已经花了半个多小时,我不想现在就停下来。我很确定还要再花一个小时(那时我会在家)。我明天想知道花了多长时间。

答案1

您正在将其写入文件,是吗?文件修改时间就是您的答案。

答案2

只显示开始时间

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

答案3

找到你的进程的 pid,比如 999

运行这个:

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

在 shell 中。当您的进程完成后,上述操作将退出。

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

相关内容