Linux 如何记录作业开始和完成的时间毫秒

Linux 如何记录作业开始和完成的时间毫秒,linux,bash,Linux,Bash,我可以使用time命令测量作业执行时间。输出结果如下所示: real 0m0.014s user 0m0.008s sys 0m0.000s 但是我想记录作业开始和完成的时间(精确到毫秒) 像 在linux中是否可以执行类似操作?使用GNU日期: date "+%F %X,%N started" | cut -c 1-23,30- 输出: 2018-02-05 01:55:59,217 started 2018-02-05 01:55:59217开始 GNU日期: dat

我可以使用
time
命令测量作业执行时间。输出结果如下所示:

real    0m0.014s
user    0m0.008s
sys     0m0.000s
但是我想记录作业开始和完成的时间(精确到毫秒)

在linux中是否可以执行类似操作?

使用GNU日期:

date "+%F %X,%N started" | cut -c 1-23,30-
输出:

2018-02-05 01:55:59,217 started 2018-02-05 01:55:59217开始 GNU日期:

date "+%F %X,%N started" | cut -c 1-23,30-
输出:

2018-02-05 01:55:59,217 started 2018-02-05 01:55:59217开始
使用GNU date并以纳秒级的精度:
date“+%F%X,%N”
…尽管为GNU date的副本派生、链接、加载和执行一个shell需要花费很多纳秒(甚至毫秒)——我认为这足以使精度变得毫无意义。现代bash的printf
%(…)T
结构开销小得多,但支持的分辨率不超过秒;所以,如果你真的需要精确性(1),你不应该使用bash;(2)用C为shell编写一个可加载的模块是一个合适的操作。使用GNU date和纳秒精度:
date“+%F%X,%N”
…尽管为GNU date的副本派生、链接、加载和执行一个shell需要花费大量纳秒(甚至毫秒)的时间——我认为这已经足够了,使精度实际上毫无意义。现代bash的printf
%(…)T
结构开销小得多,但支持的分辨率不超过秒;所以,如果你真的需要精确性(1),你不应该使用bash;(2)用C语言为shell编写一个可加载的模块是一个合适的操作。