来自Bash 参考手册,times
(强调我的):
打印出所使用的用户和系统时间贝壳和它的孩子。
从help times
:
打印累积的用户和系统时间贝壳和它的所有子进程。
什么是“外壳及其子级使用的时间”?
例如,在已经运行了几个月的 bash shell 中:
$ times
0m0.152s 0m0.080s
0m15.804s 0m13.296s
shell及其子进程使用的各种时间怎么可能少于1分钟呢?
答案1
来自帮助时间:
打印累积的用户和系统时间对于 shell 及其所有子进程。
你在强调的for the shell and all of its child processes
时候你应该更加注意user and system times
。
用户时间和系统时间不是实时(或时钟)时间,它们分别是用户代码和系统函数调用中使用的CPU时间。
顺便说一句,time
内置程序(以及同名的外部实用程序)可以显示所有三个时间 - 实时、用户时间和系统时间。从help time
:
执行 PIPELINE 并在 PIPELINE 终止时打印执行 PIPELINE 所花费的实时时间、用户 CPU 时间和系统 CPU 时间的摘要。
顺便说一句。 bash 内置time
输出格式是可配置的。我喜欢使用以下命令,这样它只使用终端的一行,而不是浪费 3 行:
export TIMEFORMAT=$'\nreal %3lR\tuser %3lU\tsys %3lS'
GNU 版本的外部time
实用程序 ( ) 允许您使用或选项/usr/bin/time
配置输出格式。其他版本可能有也可能没有类似的选项……不知道,也不太关心去查找。-f
--format