`times` 输出什么样的时间?

`times` 输出什么样的时间?

来自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

相关内容