Конечно, брат. Просто не забудьте выделить его как правильное, если оно пригодится вам позже. (пальцы вверх)

я есть маленький вопрос, и я надеюсь, что кто-то может помочь мне, потому что я не могу найти правильное решение.

Я хочу разрешить имя хоста; в ожидании результата я хотел бы напечатать уведомление, если это займет более 30 секунд с помощью команд сценариев оболочки, предпочтительно встроенных или вездесущих системных команд.

У меня есть фоновый процесс, который спит, а затем печатает сообщение; во время сна процесс запускаетсяping, но я не могу понять, как завершить фоновый процесс после завершения эхо-запроса, и сообщение продолжает печататься, даже если эхо-запрос заканчивается до 30-секундного ограничения времени, поскольку это часть более крупного сценария, выполнение которого занимает некоторое время.

Вот код, который я использовал:

((sleep 30; echo "Querying the DNS server takes more than 30 seconds.") & ping -q -c 1 localhost >/dev/null)

Я был бы очень признателен за любую помощь. Другие решения тоже приветствуются; Я просто хочу сказать пользователю, что DNS слишком медленный, и это повлияет на дальнейшее выполнение. Я пробовал ping -w или -W, но это не измерение времени разрешения. Я попытался отловить результат от пинга. Я пытался убить все процессы с тем же GPID, но это также убивает консоль. Я не лучший со сценариями, может быть, это причина, почему это занимает у меня так много времени. Заранее спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос