如何计算脚本运行时间

如何计算脚本运行时间

考虑一下这个 shell 重定向: telnet towel.blinkenlights.nl >> starWarz 当它结束时,会话将中断、与主机断开连接或类似情况。我想知道连接持续多长时间。我该如何确定这一点?

答案1

听起来您正在寻找time内置功能:

$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution.

    Execute PIPELINE and print a summary of the real time, user CPU time,
    and system CPU time spent executing PIPELINE when it terminates.

    Options:
      -p    print the timing summary in the portable Posix format

    The value of the TIMEFORMAT variable is used as the output format.

    Exit Status:
    The return status is the return status of PIPELINE.

它将打印命令所用时间的报告。例如:

$ time sleep 3

real    0m3.027s
user    0m0.000s
sys     0m0.000s

“实际”字段是实际经过的时间,与您用手表测量的值相同。因此,您可以简单地执行以下操作:

time telnet towel.blinkenlights.nl >> starWarz

答案2

大多数 shell 都有一个名为 的内置函数timebash也有。它将向您显示real进程所占用的实际人力时间 ( ) 以及进程在用户空间 ( user) 和内核空间 ( sys) 上所花费的 CPU 时间。

因此运行命令 perpending time

time telnet towel.blinkenlights.nl >> starWar

最后bash将在 STDERR 上显示时间,如下所示:

real    XmX.XXXs
user    YmY.YYYs
sys     ZmZ.ZZZs

即使您使用的 shell 没有内置命令,您也可以使用来自软件包的time外部time命令。用法相同。/usr/bin/timetime

相关内容