- Linux sleep что это
- NAME
- SYNOPSIS
- DESCRIPTION
- AUTHOR
- REPORTING BUGS
- COPYRIGHT
- SEE ALSO
- Команда sleep в bash: делаем задержки в скриптах
- Как используется команда sleep в bash
- Что нужно иметь в виду, используя команду sleep
- Итоги
- Использование команды Sleep в скриптах Bash в Linux
- Примеры команды Sleep в Bash
- Команда sleep без суффикса считается в секундах
- Команда Sleep с суффиксом m, h или d
- Команда sleep с комбинацией секунд, минут, часов и дня
- Бонусный совет: спать меньше секунды
- How to Use the Linux sleep Command with Examples
- What Does the Linux sleep Command Do?
- Linux sleep Command Syntax Explained
- Linux sleep Command Examples
- Set up an Alarm
- Delay Commands in Terminal
- Assign a Variable to the sleep Command
- Define Check Intervals
- Allow Time for Operation Completion
- Predict Latency
Linux sleep что это
NAME
sleep - delay for a specified amount of time
SYNOPSIS
sleep NUMBER[SUFFIX]. sleep OPTION
DESCRIPTION
Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. --help display this help and exit --version output version information and exit
AUTHOR
Written by Jim Meyering and Paul Eggert.
REPORTING BUGS
GNU coreutils online help: http://www.gnu.org/software/coreutils/> Report sleep translation bugs to http://translationproject.org/team/>
COPYRIGHT
Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
sleep(3) Full documentation at: http://www.gnu.org/software/coreutils/sleep> or available locally via: info '(coreutils) sleep invocation'
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Команда sleep в bash: делаем задержки в скриптах
При написании shell-скрипта может возникнуть необходимость создать в нем паузу в несколько секунд перед выполнением очередного шага. Например, чтобы скрипт «подождал», пока завершится какой-то процесс, или сделал паузу перед повторной попыткой выполнить неудавшуюся команду.
Для этого существует очень простая команда sleep .
Как используется команда sleep в bash
Sleep — универсальная команда с простым синтаксисом. Все, что нужно сделать, это набрать sleep N . Это поставит ваш скрипт на паузу на N секунд. Секунды можно указывать в целых положительных числах или в числах с плавающей запятой.
Рассмотрим базовый пример:
echo "Hello there!" sleep 2 echo "Oops! I fell asleep for a couple seconds!"
Результат работы этого скрипта выглядит так:
Аналогично можно использовать число с плавающей запятой: это позволит указать доли секунды. Например, sleep .8 приостановит работу скрипта на 0,8 с.
Вот и все, что можно сказать о работе команды sleep на базовом уровне!
Что нужно иметь в виду, используя команду sleep
По умолчанию время для sleep указывается в секундах, поэтому в примере мы не указывали единицы измерения времени.
На некоторых типах машин (конкретно — BSD и MacOS) время вообще указывается исключительно в секундах. В других Unix-подобных операционных системах скорее всего будут поддерживаться и другие единицы времени:
С командой sleep также можно использовать больше одного аргумента. Если вы укажете два или больше чисел, задержка будет соответствовать их сумме.
Например, указав sleep 2m 30s , вы создадите паузу на 2,5 минуты. Имейте в виду, что в MacOS или BSD для такого результата нужно написать sleep 150 , поскольку в этих ОС время указывается только в секундах, а 2,5 мин = 150 с.
Итоги
Команда sleep — удобный способ добавить паузу в ваш bash-скрипт. В сочетании с другими командами sleep может помочь запускать операции в правильном порядке, делать паузы между попытками соединения с сайтами и т. п. В общем, этот инструмент точно стоит добавить в свой набор!
Использование команды Sleep в скриптах Bash в Linux
Добавить в избранное
Главное меню » Операционная система Linux » Использование команды Sleep в скриптах Bash в Linux
И з этой статьи вы узнаете, как использовать команду sleep и ее различные опции в скриптах bash.
Команда sleep в Linux — одна из самых простых команд. Как видно из названия, его единственная функция — спать. Другими словами, он вводит задержку на указанное время.
Таким образом, если вы используете команду sleep с x, то следующая команда может быть запущена только через x секунд.
Команда Sleep имеет простой синтаксис:
Давайте посмотрим несколько примеров команды sleep.
Примеры команды Sleep в Bash
Хотя вы можете использовать его непосредственно в оболочке, команда sleep обычно используется для введения задержки в выполнение сценария bash. Мы собираемся показать использование команды sleep через примеры сценариев bash.
Команда sleep без суффикса считается в секундах
Предположим, вы хотите приостановить ваш bash-скрипт на 5 секунд, вы можете использовать режим sleep следующим образом:
В примере скрипта bash это может выглядеть так:
!/bin/bash echo "Sleeping for 5 seconds…" sleep 5 echo "Completed"
Если вы запустите его с помощью команды time, вы увидите, что скрипт bash на самом деле работал (немного) более 5 секунд.
time ./sleep.sh Sleeping for 5 seconds… Completed real 0m5.008s user 0m0.000s sys 0m0.007s
Команда Sleep с суффиксом m, h или d
Вы можете указать время sleep в минутах следующим образом:
Это приостановит скрипт/оболочку на одну минуту. Если вы хотите отложить сценарий на несколько часов, вы можете сделать это с помощью опции h:
Даже если вы хотите приостановить скрипт на несколько дней, вы можете сделать это с помощью суффикса d:
Это может помочь, если вы хотите работать в разные дни или дни недели.
Команда sleep с комбинацией секунд, минут, часов и дня
Вы не обязаны использовать только один суффикс за раз. Вы можете использовать более одного суффикса, и продолжительность sleep является суммой всех суффиксов.
Например, если вы используете следующую команду:
Это заставит скрипт ждать 1 час 10 минут и 5 секунд. Обратите внимание, что суффикс s здесь по-прежнему необязателен.
Бонусный совет: спать меньше секунды
Вы могли заметить, что наименьшая единица времени в команде sleep — секунда. Но что если ваш bash-скрипт будет спать в течение миллисекунд?
Хорошо, что вы можете использовать с плавающей точкой (десятичные точки) с командой sleep.
Поэтому, если вы хотите ввести паузу в 5 миллисекунд, используйте ее следующим образом:
Вы также можете использовать десятичные точки с другими суффиксами.
Будет введена задержка в 1 час 37 минут и 30 секунд.
Мы надеемся, что вы не спали, читая эти примеры команды sleep -).
Если у вас есть вопросы или предложения, пожалуйста, не стесняйтесь спрашивать.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
How to Use the Linux sleep Command with Examples
When the user issues a multiple command sequence in Linux, the commands execute immediately one after another or concurrently (e.g., the tee command). However, sometimes it is necessary to postpone the execution of commands and provide enough time for the system to produce the expected results.
In this tutorial, you will learn how to use the Linux sleep command to delay command execution in the terminal and shell scripts.
What Does the Linux sleep Command Do?
The sleep command suspends the calling process of the next command for a specified amount of time. This property is useful when the following command’s execution depends on the successful completion of a previous command.
Linux sleep Command Syntax Explained
The syntax of the sleep command is simple:
In the example above, after sleep 5 was executed, the second command prompt appeared with a 5-second delay.
By default, the system reads the number after sleep as the number of seconds. To specify other time units, use the following syntax:
The sleep command accepts floating-point numbers. It allows multiple values, which are all added together to calculate the duration of sleep .
To stop sleep after it started and before the specified waiting period ends, press Ctrl + C .
To see help for the sleep command, type:
Linux sleep Command Examples
The following sections contain examples of using the sleep command in the terminal or shell scripts.
Note: The sleep command is designed to work in combination with other Linux commands. For a list of available Linux commands, download our free Linux Commands Cheat Sheet.
Set up an Alarm
Use sleep to tell the system to play an mp3 file after a certain amount of time. The example uses mplayer:
sleep 7h 30m && mplayer alarm.mp3
Delay Commands in Terminal
sleep is useful for enforcing a time between the execution of two commands. The following example makes echo commands execute in one-second intervals:
sleep 1 && echo "one" && sleep 1 && echo "two"
Assign a Variable to the sleep Command
It is possible to assign a variable to the sleep command. Consider the following shell script:
#!/bin/bash SLEEP_INTERVAL="30" CURRENT_TIME=$(date +"%T") echo "Time before sleep: $" echo "Sleeping for $ seconds" sleep $ CURRENT_TIME=$(date +"%T") echo "Time after sleep: $"
The script defines a variable called SLEEP_INTERVAL whose value is later used as an argument to the sleep command. The output of this example script shows that the execution lasted 30 seconds:
Define Check Intervals
The following example illustrates the use of the sleep command in a script that checks whether a website is online. The script stops if it successfully pings a website, and sleep introduces a 10-second delay between unsuccessful pings.
#!/bin/bash while : do if ping -c 1 www.google.com &> /dev/null then echo "Google is online" break fi sleep 10 done
Allow Time for Operation Completion
You may be running a bash script that internally calls two other bash scripts – one that runs tests in the background and another that prints the results. Use sleep to prevent the second script from printing the wrong results if it executes before the completion of the first script:
while kill -0 $BACK_PID ; do echo "Waiting for the process to end" sleep 1 done
The kill -0 $BACK_PID command checks if the first script’s process is still running. If it is, it prints the message and sleeps for 1 second before checking again.
Predict Latency
Use sleep to allow latency of certain command executions. The script snippet below shows how sleep gives the CPU enough time to perform the calculation before the next iteration.
After reading this tutorial, you should know how to use the Linux sleep command to pause the execution of the commands in a sequence.
The bash wait command is a Shell command that waits for background running processes to complete and returns the exit status. Unlike the sleep command, which waits for a specified time, the wait command waits for all or specific background tasks to finish.