📅  最后修改于: 2023-12-03 14:44:47.862000             🧑  作者: Mango
NTP(Network Time Protocol)服务是用于同步计算机系统时钟的协议,它能够将计算机与一个可靠的时间服务器连接起来,从而确保计算机系统的时钟保持准确性。但是,在一些特定的情况下,NTC服务可能会出现保持失败的情况,这时候我们需要去查看“退出代码”,以便找出问题的根源。
退出代码(exit code)是指一个程序在结束运行时返回给操作系统的信息。这个信息通常是一个整数值(有时是一个字符),表示程序运行的状态。对于NTP服务保持失败的情况,如果查看日志文件,通常会看到一个类似下面的语句:
ntpdate: Can't adjust the time of day: Operation not permitted
在这个语句中,“Can't adjust the time of day”指的是NTP服务无法调整系统时间,而“Operation not permitted”则是该操作被系统禁止。这时候就需要查看NTP服务的退出代码了。
查看NTP服务的退出代码很简单,只需要在运行NTP服务时加上“-d”参数即可。在终端中输入以下命令:
ntpdate -d 0.asia.pool.ntp.org
这里的“0.asia.pool.ntp.org”是指一个公共的NTP服务器,您也可以换成其他可用的NTP服务器。
当命令执行完成后,会输出一些类似下面的信息:
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
receive(96.44.155.87)
transmit(96.44.155.87)
server 96.44.155.87, port 123
stratum 3, precision -23, leap 00, trust 000
refid [96.44.155.87], delay 0.05210, dispersion 0.00246
transmitted 4, in filter 4
reference time: de6d2ea6.2dbb5c5b Fri, Jul 5 2019 19:39:34.176
originate timestamp: de6d32c4.e4bac6e1 Fri, Jul 5 2019 19:54:28.893
transmit timestamp: de6d32c4.e24ecf7a Fri, Jul 5 2019 19:54:28.885
filter delay: 0.05210 0.05209 0.05214 0.05214
0.00000 0.00000 0.00000 0.00000
filter offset: -0.08355 -0.08353 -0.08353 -0.08353
0.000000 0.000000 0.000000 0.000000
delay 0.05210, dispersion 0.00246
offset -0.083556
5 Jul 19:54:28 ntpdate[15811]: adjust time server 96.44.155.87 offset -0.083556 sec
在这里,关键的信息是在最后一行:“ntpdate[15811]: adjust time server 96.44.155.87 offset -0.083556 sec”。这里的“ntpdate”是程序名称,而“15811”则是退出代码。在这个例子中,退出代码为“15811”表示NTP服务正常运行,时间偏移值为-0.083秒。
通过查看NTP服务的退出代码,可以帮助我们找出保持失败的原因。在使用NTP服务时,如果出现时钟不同步等问题,可以先检查一下NTP服务的退出代码,这有助于我们快速定位问题所在。