Отделить два наблюдения
Это удобная пауза между ручными измерениями. Планировщик может возобновить процесс позже заданного срока: команда не является точным измерительным прибором.
Приостанавливает выполнение на заданное время; не проверяет готовность другой программы.
sleep 1
пауза на одну секунду
sleep 0.5
дробное число секунд в GNU sleep
sleep 2s
явная единица времени
sleep 1m
одна минута
sleep --help
справка установленной версии
sleep создаёт задержку: следующий последовательный шаг оболочки начнётся
после её окончания. Пока команда ждёт, процесс обычно спит и почти не
расходует CPU. Именно поэтому он удобен для учебного наблюдения за
процессами.
Ожидание времени и ожидание результата — разные задачи. Пять секунд после
запуска веб-сервера не доказывают, что он уже принимает запросы. Для
готовности нужна проверка самого сервиса, а для завершения дочерней задачи —
wait.
Продолжительность — аргумент команды, а не ключ. GNU sleep понимает суффиксы
s, m, h, d; без суффикса число означает секунды. Несколько интервалов
суммируются. Для переносимого сценария используй одно целое неотрицательное
число секунд.
Ключи справки и версии описывают программу, а не запускают таймер. Доступный
интерфейс сверяй через sleep --help; особенности GNU не следует
автоматически переносить на другие реализации.
| Ключ | Что делает | Пример |
|---|---|---|
--help |
Показать справку установленной версии. | sleep --help |
--version |
Показать версию coreutils. | sleep --version |
Ничего не найдено. Попробуй запрос короче.
Это удобная пауза между ручными измерениями. Планировщик может возобновить процесс позже заданного срока: команда не является точным измерительным прибором.
Выполни весь пример в одной оболочке:
$! сохраняет PID последнего фонового запуска. Здесь wait связывает
продолжение с окончанием конкретной задачи, а не со второй предполагаемой
задержкой.
Запусти sleep 30 на переднем плане и нажми Ctrl+C. В обычном терминале это
прерывает ожидание. Повторять пример с длительным интервалом для проверки не
требуется.
Команда переднего плана ещё выполняется. Дождись окончания или прерви её; отсутствие текста во время ожидания нормально. Само по себе оно не означает зависание оболочки.
Проверь аргумент: единица времени записывается рядом с числом. Начни с sleep
1, затем сравни проблемный вариант со справкой установленной программы.
Задержка не ограничивает продолжительность соседней команды и не заменяет её тайм-аут. В бесконечном цикле она уменьшает частоту повторения, но не задаёт условие выхода.
Не завершай все процессы с именем sleep ради уборки учебного примера: чужая задержка может быть частью работающего сценария. Используй сохранённый PID и проверяй, что это всё ещё нужный экземпляр.
Есть неточность? Сообщить об ошибке в статье