Как использовать команду Linux Sleep для приостановки сценария Bash
How to Use the Linux Sleep Command to Pause a Bash Script
В этом руководстве мы покажем вам, как использовать команду Linux sleep .
sleep утилита командной строки, которая позволяет приостановить вызывающий процесс на указанное время Другими словами, sleep команда приостанавливает выполнение следующей команды на заданное количество секунд.
Команда sleep полезна, когда используется в сценарии оболочки bash, например, при повторной попытке сбойной операции или внутри цикла.
Как использовать sleep команду
Синтаксис sleep команды следующий:
SUFFIX Может быть одним из следующих:
s — секунды (по умолчанию)
m — минуты
h — часов
d — дни
Если суффикс не указан, по умолчанию используется значение секунд.
Когда задано два или более аргументов, общее количество времени эквивалентно сумме их значений.
Вот несколько простых примеров, демонстрирующих, как использовать sleep команду:
Спать в течение 0,5 секунд:
Сон в течение 2 минут и 30 секунд:
Примеры скриптов на Bash
В этом разделе мы рассмотрим несколько основных сценариев оболочки, чтобы увидеть, как используется sleep команда.
Когда вы запустите скрипт, он напечатает текущее время в HH:MM:SS формате. Затем sleep команда приостанавливает выполнение сценария на 5 секунд. По истечении указанного периода времени последняя строка скрипта печатает текущее время.
Вывод будет выглядеть примерно так:
Давайте посмотрим на более сложный пример:
Скрипт проверяет, находится ли хост в сети или нет, каждые 5 секунд. Когда хост выходит в сеть, скрипт уведомит вас и остановит.
Как работает скрипт:
В первой строке мы создаем бесконечный while цикл .
Затем мы используем ping команду, чтобы определить, ip_address доступен ли хост с IP-адресом или нет.
Если хост доступен, сценарий отобразит «Хост подключен» и завершит цикл.
Если хост недоступен, sleep команда приостанавливает выполнение сценария на 5 секунд, а затем цикл начинается с начала.
Вывод
Команда sleep является одной из самых простых команд Linux. Он используется для приостановки выполнения следующей команды на определенный промежуток времени.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Пауза при загрузке linux
Сообщения: 1769 Благодарности: 16
/usr/share/mysql/mysql.server start
——- Жизнь — цепь, а мелочи — в ней звенья. Нельзя звену не придавать значения.(C) 80 дней вокруг света — Це все, що маю я. (С) Друга ріка
sleep — это утилита командной строки, которая позволяет приостанавливать вызывающий процесс на определенное время. Другими словами, команда sleep приостанавливает выполнение следующей команды на заданное количество секунд.
Команда sleep полезна при использовании в сценарии оболочки bash, например, при повторной попытке неудачной операции или внутри цикла.
В этом руководстве мы покажем вам, как использовать команду sleep в Linux.
Как использовать команду sleep
Синтаксис команды sleep следующий:
NUMBER может быть положительным целым числом или числом с плавающей запятой.
SUFFIX может быть одним из следующих:
s — секунды (по умолчанию)
m — минуты
h — часы
d — дни
Если суффикс не указан, по умолчанию используются секунды.
Когда даны два или более аргумента, общее количество времени эквивалентно сумме их значений.
Вот несколько простых примеров, демонстрирующих, как использовать команду sleep :
Сон на 0,5 секунды:
Сон 2 минуты 30 секунд:
Примеры сценариев Bash
В этом разделе мы рассмотрим несколько основных сценариев оболочки, чтобы увидеть, как используется команда sleep .
Когда вы запустите сценарий, он напечатает текущее время в формате HH:MM:SS . Затем команда sleep приостанавливает скрипт на 5 секунд. По истечении указанного периода времени последняя строка сценария выводит текущее время.
Результат будет выглядеть примерно так:
Давайте посмотрим на более сложный пример:
Скрипт каждые 5 секунд проверяет, находится ли хост в сети или нет. Когда хост переходит в онлайн, скрипт уведомит вас и остановится.
Как работает скрипт:
В первой строке мы создаем бесконечный while цикл .
Затем мы используем команду ping чтобы определить, доступен ли хост с IP-адресом ip_address или нет.
Если хост доступен, сценарий выдаст эхо «Хост в сети» и завершит цикл.
Если хост недоступен, команда sleep приостанавливает скрипт на 5 секунд, а затем цикл начинается с начала.
Выводы
Команда sleep — одна из самых простых команд Linux. Он используется для приостановки выполнения следующей команды на заданное время.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Linux: перезагрузка и выключение системы
Андрей Волков
Системное, сетевое администрирование +DBA. И немного программист!)) Профиль автора.
Буферы файловых систем Linux хранятся в памяти и лишь изредка записываются на диск. Это ускоряет выполнение операций дискового ввода-вывода, но повышает риск потери данных в случае внезапного сбоя.
Традиционные UNIX- и Linux-системы были очень требовательны в отношении процедуры выключения. Современные системы более терпимы (особенно если речь идет о такой высоконадежной файловой системе, как ext3fs ), но все же лучше корректно завершать работу, если это возможно. Неправильное выключение компьютера может привести к появлению трудно обнаруживаемых, неочевидных ошибок, а иногда и к полному краху системы.
Перезагрузка системы на персональном компьютере — средство решения почти всех проблем. Но при работе в Linux советуем сначала подумать и только потом перезагружаться. Проблемы, возникающие в Linux, как правило, скрытые и сложные, поэтому перезагрузка дает ожидаемый результат гораздо реже, чем в других системах. Кроме того, процесс перезагрузки Linux занимает много времени, что создает неудобства для пользователей.
Перезагружаться необходимо в том случае, когда подключается новое устройство или работающее устройство зависает так, что его невозможно проинициализировать. Если модифицируется конфигурационный файл, который опрашивается только при начальной загрузке, то изменения вступят в силу лишь после перезагрузки. И, наконец, если в системе невозможно зарегистрироваться, иного выхода, кроме как перезагрузиться, просто не существует.
Если модифицируется один из сценариев запуска системы, то нужно перезагрузиться хотя бы для того, чтобы проверить, успешно ли функционирует система после изменений. Если какая-либо проблема не проявится в течение нескольких ближайших недель, впоследствии вы вряд ли вспомните подробности последних изменений.
В отличие от начальной загрузки, которая осуществляется единственным способом, остановить и перезагрузить систему можно по-разному:
выключить питание;
ввести команду shutdown ;
использовать команды halt и reboot ;
изменить уровень выполнения демона init с помощью команды telinit ;
выполнить команду poweroff , чтобы попросить систему выключить питание.
Выключение питания в Linux
Даже в системах настольных компьютеров выключение питания — не лучший способ останова системы. Это может привести к потере данных и повреждению файловых систем.
В некоторых компьютерах имеется кнопка программного останова, при нажатии которой выполняется ряд команд, корректно завершающих работу системы. Если вы не уверены, поддерживает ли компьютер такую возможность, не пытайтесь это выяснить, нажав кнопку выключения питания в процессе работы системы! Будет гораздо меньше проблем, если остановить систему вручную.
Конечно, предусмотрительность хороша в разумных пределах. В случае наводнения или пожара лучше отключить питание, если на корректный останов системы просто нет времени. Когда-то в машинных залах существовала аварийная кнопка, которая позволяла выключить все оборудование одновременно.
Команда shutdown: корректный способ останова системы
Команда shutdown — самый безопасный и корректный способ остановить или перезагрузить систему либо вернуться в однопользовательский режим.
Можно дать команде указание делать паузу перед остановом системы. Во время ожидания команда посылает зарегистрированным пользователям через постепенно укорачивающиеся промежутки времени сообщения, предупреждая о приближающемся событии. По умолчанию в сообщениях говорится о том, что система заканчивает работу, и указывается время, оставшееся до момента останова. При желании администратор может добавить собственное короткое сообщение, в котором поясняется, почему система останавливается, и сколько примерно времени придется подождать, прежде чем снова можно будет войти в систему. После выполнения команды shutdown пользователи будут лишены возможности входа в систему, но они будут видеть сообщение, предусмотренное администратором.
С помощью команды shutdown можно указать, что должна сделать система после выполнения команды: остановиться ( -h ) или перезагрузиться ( -r ). Можно также задать, должна ли после перезагрузки выполняться принудительная проверка дисков с помощью команды fsck ( -F ) или нет ( -f ). По умолчанию Linux автоматически пропускает эту проверку, если файловые системы были корректно демонтированы.
Следующая команда напоминает пользователям о запланированной процедуре сервисного обслуживания и отключает систему в 9:30 утра:
Можно также задать относительное время отключения. Например, приведенная ниже команда запустит процесс выключения через 15 минут:
Команда halt: более простой способ останова
Команда halt выполняет все основные операции, необходимые для останова системы.
Обычно она вызывается командой shutdown -h , но может применяться и сама по себе. Команда регистрирует в журнальном файле факт останова, уничтожает несущественные процессы, выполняет системный вызов sync, дожидается завершения операций записи на диск, а затем прекращает работу ядра.
При наличии опции -n системный вызов sync подавляется. Команда halt -n используется после восстановления корневого раздела командой fsck , чтобы ядро не могло затереть исправления старыми версиями раздела, хранящимися в кэше.
Команда reboot: быстрый перезапуск
Команда reboot почти идентична команде halt . Разница лишь в том, что система перезагружается, а не останавливается. Режим перезагрузки вызывается также командой shutdown -r . Команда reboot тоже поддерживает флаг -n .
Команда telinit: изменение уровня выполнения демона init
С помощью команды telinit можно дать демону init указание перейти на конкретный уровень выполнения. Например, команда
переводит систему в однопользовательский режим.
В отличие от команды shutdown , команда telinit не поддерживает такие возможности, как предупреждающее сообщение и пауза на подготовку, поэтому ее стараются избегать. Обычно она используется при проверке изменений, внесенных в файл inittab .
Команда poweroff: запрос на выключение питания
Команда poweroff идентична команде halt , за исключением того, что после останова операционной системы посылается запрос системе управления питанием (если таковая имеется) с указанием выключить питание компьютера. Это позволяет дистанционно выключать машины.
Эквивалентная команда poweron отсутствует. Причины должны быть всем очевидны.