ntpd -qg:与超时一起使用

ntpd -qg: Use with timeout

正在研究 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 服务器不是选项。

有一个 timeout 命令通常随 coreutils 一起提供,允许您在任何命令上设置超时(即使它本身不支持)。例如

timeout 60 ntpd -qg

到运行运行ntpd -qg并让它在60秒后超时。如果命令完成,你应该得到它的 return 值,如果 timeout 介入,你会得到 124.