ntpd -qg: использовать с таймаутом - PullRequest
0 голосов
/ 27 июня 2018

работает на Pi3

Ситуация : указан только один сервер в /etc/ntp.conf, и данный адрес недействителен (на этом адресе не запущен NTP-сервер).

Проблема : выполнение ntpd -qg никогда не заканчивается, так как нет тайм-аута, как в ntpdate -t 60.

Вопрос : Можно ли указать время ожидания для ntpd? Если нет, как вы можете гарантировать, что процесс завершится через время x?

На данный момент при запуске pi выполняет bash-скрипт, который пытается получить фактическое время с данного NTP-сервера в /etc/ntp.conf, а затем зависает в процессе, поскольку по этому адресу нет NTP-сервера. Таким образом, процесс запускается с начала, и я не могу вызвать другой ntpd, пока начальный ntpd -процесс не будет убит.

Любая работа вокруг?

PS: я бы не хотел использовать ntpdate, так как он помечен как пакет для удаления


EDIT:

RPi3 находится в изолированной сети. Онлайн NTP-серверы в моем случае не подходят.

1 Ответ

0 голосов
/ 27 июня 2018

Существует команда timeout, обычно поставляемая с coreutils, которая позволяет вам установить таймаут для любой команды (даже если она сама не поддерживает ее). Э.Г.

timeout 60 ntpd -qg

Для запуска запустите ntpd -qg и получите время ожидания через 60 с. Если команда завершена, вы должны получить ее возвращаемое значение, если timeout вмешалось, вы получите 124.

...