在Pi3上工作
情况:仅给定/etc/ntp.conf
中的一台服务器,并且此给定地址无效(该地址上没有运行 NTP 服务器(。
问题:运行ntpd -qg
永远不会结束,因为没有像ntpdate -t 60
那样的超时。
问题:可以指定ntpd
的超时吗?如果没有,您如何确保该过程在时间 x 之后结束?
现在,在启动时,pi 执行一个 bash 脚本,该脚本试图从/etc/ntp.conf
中的给定 NTP 服务器获取实际时间,然后在进程中挂起,因为该地址上没有可用的 NTP 服务器。所以进程从头开始运行,在最初的ntpd
进程被杀死之前,我无法调用另一个ntpd
。
有什么解决方法吗?
PS:我不想使用 ntpdate,因为它被标记为退休包
编辑:
RPi3 位于隔离的网络中。就我而言,在线 NTP 服务器是没有选择的。
有一个通常随 coreutils 一起提供的timeout
命令,它允许您在任何命令上设置超时(即使它本身不支持它(。 例如
timeout 60 ntpd -qg
运行ntpd -qg
并在 60 秒后超时。如果命令完成,你应该得到它的返回值,如果timeout
干预,你会得到 124。