【问题标题】:How to log the time taken for a unix command?如何记录一个unix命令所花费的时间?
【发布时间】:2013-09-17 20:14:14
【问题描述】:

我知道我的脚本需要 10 多个小时才能运行。有没有办法记录它的开始时间和结束时间?

time 命令是否只是为进程计时,还是我得到我正在计时的进程的输出?

【问题讨论】:

  • 你为什么不试试短期运行程序?
  • 我试过$ time echo 'foobar',它输出foobar。但我也想知道其他可用的时间/日期记录设备。
  • date && time youscript && data 您将拥有开始日期、结束日期、真实世界时间、用户空间使用的 cpu 时间和系统空间中的 cpu 时间

标签: shell unix time command


【解决方案1】:

使用time 命令(details):

time your_prog

如果time 不适合您,我会尝试在程序执行前后记录date (details) 的输出,例如

date > log.txt; your_prog; date >> log.txt

最后,您还可以添加一些格式(注意:受 Raze2dust 的回答启发):

echo "started at: $(date)" > log.txt; your_prog; echo "ended at: $(date)" >> log.txt

【讨论】:

    【解决方案2】:

    time 命令显示您的进程运行了多长时间:

    $ time sleep 2
    
    real    0m2.002s
    user    0m0.000s
    sys 0m0.000s
    $  
    

    sleep 2 只是一个简单的过程,需要 2 秒。

    要记录当前时间,请使用date 命令。

    【讨论】:

      【解决方案3】:

      我不确定我是否明白你的问题。 time <command> 将给出<command> 花费的时间。如果您还希望打印实际的开始和结束时间,您可以这样做:

      echo "start time = $(date)"
      time <command>
      echo "end time = $(date)"
      

      【讨论】:

        【解决方案4】:

        在脚本的开始和结束时,您只需要使用 date 命令来记录信息。

        var1=`date`
        echo "Starting of the script $var1" > timing_log.txt
        
        <your code>
        
        var2=`date`
        echo "Ending of the script $var2"  >> timing_log.txt
        

        【讨论】:

          猜你喜欢
          • 2012-08-19
          • 2011-08-21
          • 1970-01-01
          • 2014-02-20
          • 2021-09-22
          • 1970-01-01
          • 2017-08-09
          • 1970-01-01
          • 2022-12-04
          相关资源
          最近更新 更多