我想打印探测器被触发的时间。检查Dtrace文档后,我找到了内置变量:walltimestamp
。 Dtrace脚本喜欢这个:
pid$1::func:entry
{
trace(walltimestamp);
}
但walltimestamp
是“自1970年1月1日00:00 Universal Coordinated Time以来的当前纳秒数。”,因此输出结果为“1389583988106535481”。
我认为这对用户来说并不容易理解,并希望输出像“Mon Jan 13 00:00:00 2014”。我搜索过Dtrace是否在C编程语言中提供了ctime
这样的函数,但没有找到。
有没有人需要自己实现像ctime这样的功能?或者有更好的方法来显示时间吗?
答案 0 :(得分:8)
使用printf()
:
# dtrace -qn 'BEGIN {printf("%Y\n", walltimestamp); exit(0)}'
2014 Jan 13 08:37:56
#