Sleep аналог в windows

Обновлено: 08.07.2024

Вот, нашёл в Сети рабочий пример для устройства задержки времени
(пауза, тайм-аут) при выполнении команды в bat-файле:

echo wscript.Sleep 30000>"%temp%\sleep30.vbs"
cscript //nologo "%temp%\sleep30.vbs"
del "%temp%\sleep30.vbs"

Работает в любой ОС Windows, аж бегом

Зачем нужна задержка (пауза, тайм-аут) при выполнении команды в bat-файле?

У всех – по-разному.
Лично мне она (пауза) понадобилась вот для чего:

– Взял простенький bat-файл для очистки временных папок и бросил его в АВТОЗАГРУЗКУ
Прикололся, типа – чтобы этот батничек чистил временные каталоги при запуске системы.
Текст батника вытащил из стандартного Total Commander-a:

cmd /c title Очистка временной папки &cd/d %temp%&rd/s/q %temp% 2>nul &cd/d %tmp%&rd/s/q %tmp% 2>nul &cd/d C:\Windows\Prefetch &del *.pf 2>nul &cd/d C:\Windows\Temp&rd/s/q c:\windows\temp 2>nul

Всё-бы ничего, да только такая процедура очистки временных папок при загрузке –
сносит полезные файлы и система выдаёт окно ошибки

Досадно.
Однако, устройство паузы в 30 сек. решило всю проблему.
И система грузится, и папки темпов - чистятся.

Полный текст bat-файла стал теперь таким:

echo wscript.Sleep 30000>"%temp%\sleep30.vbs"
cscript //nologo "%temp%\sleep30.vbs"
del "%temp%\sleep30.vbs"
cmd /c title Очистка временной папки &cd/d %temp%&rd/s/q %temp% 2>nul &cd/d %tmp%&rd/s/q %tmp% 2>nul &cd/d C:\Windows\Prefetch &del *.pf 2>nul &cd/d C:\Windows\Temp&rd/s/q c:\windows\temp 2>nul

Прим. Лошади понятно, что изменив цифру 30 на своё значение,
можно получить другие величины паузы в секундах в bat-файле.

Начиная с VISTA, в операционных системах семейства Windows присутствует команда TIMEOUT. Эта команда принимает значение таймаута, равного фиксированному периоду времени ожидания (в секундах) до выполнения команды или ожидание до нажатия клавиши. Имеется также параметр, зaдающий игнорирование нажатий клавиш.

Синтаксис
TIMEOUT [/T] 50 [/NOBREAK]

Параметры

/T 50 Таймаут = 50 сек. Время ожидания в секундах. Допустимый интервал: от -1 до 99999 секунд. Значение, равное -1 задает неограниченное время ожидания до нажатия клавиши. /NOBREAK Игнорировать нажатия клавиш, ждать указанное время. /? Отображение справки в командной строке.

TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1

Весь текст примера можно внести в bat-файл,
запустить и посмотреть, как это работает.
Впечатляет.

Я так же согласен, что делать пауза при помощи пинга - ужасный метод. Самое плохое, что в большинстве случаев он работает. Но иногда такую паузу может выдать, что и близко к нужной не лежит.

  • Rumata
  • Разработчик
  • Неактивен











Можно делать задержки с помощью JScript по "технологии" bat+jscript: два в одном

Но иногда такую паузу может выдать, что и близко к нужной не лежит.

Но иногда такую паузу может выдать, что и близко к нужной не лежит.

пример, на слабом PC выполняющим роль сервака с обычной сетевухой, загруженного разными задачами.
Наблюдал случаи когда инфа от пинга поступает спустя 10 - 15 секунд

от пинга чего ? и зачем инфа ?

у меня есть старый ноут целерон 1200 озу 384 метра на котором стоит winxp pro sp3
при пинге 127.0.0.1 первая строчка появиться через 10 - 15 секунд остальные каждые 2 - 3 секунды (сидел замерял время) именно по этой причине стал искать другие варианты sleep.
Другой вариант нашел и выложил тут, кому надо те возьмут.

  • greg zakharov
  • Разработчик
  • Неактивен

Я так же согласен, что делать пауза при помощи пинга - ужасный метод.

Так в чем же дело, используйте sleep.exe из набора Windows Server 2003 Resource Kit, забросив его в системную папку. Хотя если речь о стандартных средствах, то соглашусь с господином Rumata.

  • Serge Yolkin
  • Разработчик
  • Неактивен

MegaScrew
+40% к загрузке процессора (AMD A4-3310MX 2100 MHz, Win7Pro SP1) ?
И это для "старого ноута" или "слабого PC, выполняющего роль сервака" ??

Serge Yolkin, предложите альтернативу без ping-а и sleep.exe из Resource Kit.

ИМХО:
Всегда в инструментах специалиста есть молоточек, молоток и кувалда и каждый специалист выбирает сам что ему использовать.

Если есть предложения по оптимизации и упрощению кода давайте обсудим. Все остальное вода.

  • Serge Yolkin
  • Разработчик
  • Неактивен

в авторском коде преимущество с другими - нет старта внешнего приложения, но есть но - цикл не передает управление системе и сам жрет

  • greg zakharov
  • Разработчик
  • Неактивен

Может, подход несколько порочный, но у него есть один плюс - нет назгрузки на ЦП.

так можно и дебагом не создавая файла

в авторском коде … есть но - цикл не передает управление системе и сам жрет

Вот из-за этого он мне и не нравится — где же тут сам Sleep, так сказать?!

так можно и дебагом не создавая файла


что вы имеете в виду? разверните свою мысль в код пожалуйста. я жадный до знаний

В споре рождается истина ))
Предлагаю альтернативу которая не жрет ресурсы CPU

PS:
У меня win7 Pro без ресурс кита и все работает. Проверьте кто может на других версиях OS windows.
PSS:
Посмотрел по хелпам MS на их сайте, вроде как timeout появился в составе cmd с Windows Server 2003
В windows XP SP3 его нет, проверил.

В Linux работают 100%, в Windows не проверял, но тоже должны работать.

1. используя nanosleep:

2. используя usleep:

3. используя CLOCKS_PER_SEC:

4. используя sleep:

5. используя sleep:

Собственно вопрос: как вы считаете, все ли они акуратны и какой из них самый предпочтительный (в плане точности)? __________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Библиотека BASS (un4seen): возможна ли обработка звука в реальном времени без существенной задержки?
Здравствуйте. Если использовать приличный ноутбук с внешней (тоже приличной) звуковой картой, то.

Sleep() имеет плохую точность задержки времени, есть альтернативы?
Столкнулся с проблемой в коде с++ установка Sleep(1);//Задержка кода на 1 миллисек. Однако это.

Функция задержки времени
Здравствуйте! Пишу программу на Visual Studio C++, и возник вопрос. Как сделать допустим вывод.

Функции задержки времени
Какие функции задержки времени вы используете? Мои потуги в использовании задержек какието.

первый более-менее. но работать будет только в линуксе.
но я бы не использовал ни один из них. либо select(), либо интервальные/асинхронные таймеры. А как насчёт потери процессорного времени в циклах. Где вы нашли прогрузку процессора? Разве что только в 3м варианте, где clock() гоняется в цикле. но я бы не использовал ни один из них. либо select(), либо интервальные/асинхронные таймеры

можете более подробно о них рассказать, хотябы дать ссылку.

Добавлено через 1 минуту

а почему тогда вышеприведенный код на винде не идет?

Добавлено через 21 секунду
16 C:\Documents and Settings\Администратор\Рабочий стол\help.cpp `sleep' was not declared in this scope

Добавлено через 6 минут
дайте, пожалуйста ссылку на ваш "Linux Programmer's Manual"

Есть еще вариант

include <Windows.h>
и далее Sleep(ms);

20 C:\Documents and Settings\Администратор\Рабочий стол\help.cpp `sleep' was not declared in this scope

Добавлено через 1 минуту
sleep(1); на Sleep(1); надо было заменить..

unistd.h - это стандартная _юниксовая_ библиотека, есесно в винде сие не будет работать.
В виндовсе есть аналог Sleep, но аргументом принимает число милисекунд (а не секунд как sleep). Gravity, спасибо, но я это догнал сам, когда ошибку перестало выбивать но окно сразу закрылось)) у меня большая практика в паскале, хотя и в прошлом)) с багами вроде как на ты)) кстати, можете все-таки подогнать ссылку на вашу цытату? буду весьма благодарен.. жаль.. у меня был убунту и винда на одном винте, так через 1 месяц винт накрылся, может быть проблема, в том что они несовместимы? да по сути маразм, но мне как-то смутно верится, либо єто злое совпадение, (убунту - это ос декспотовская, типа виндовс от линукса) убунту - это ос декспотовская, типа виндовс от линукса не ну я норм написал, понятно ведь все, а в том что это совпадение я уже разобрался.. да по сути маразм, но мне как-то смутно верится, либо єто злое совпадение, (убунту - это ос декспотовская, типа виндовс от линукса)


Установка времени задержки сигнала
Доброго времени суток! Столкнулся с задачей определения времени задержки сигнала в Симулинке. .


Организация задержки операций по времени
Есть необходимость отправлять запросы с пятисекундным интервалом. Как организовать этот интервал.

Программа с введением времени задержки с клавиатуры
Ребята,такая проблемка,задали курсовую работу по программе на языке ассемблера,на тему &quot;программа.


Задание времени задержки в нормальных минутах
Не могу понять, как работает время задержки. Там указывается экспоненциальное распределение и.

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Приостанавливает текущий поток на заданное время.

Перегрузки

Приостанавливает текущий поток на заданное количество миллисекунд.

Приостанавливает текущий поток на заданное время.

Sleep(Int32)

Приостанавливает текущий поток на заданное количество миллисекунд.

Параметры

Количество миллисекунд, на которое приостанавливается поток. Если значение аргумента millisecondsTimeout равно нулю, поток освобождает оставшуюся часть своего интервала времени для любого потока с таким же приоритетом, готовым к выполнению. Если других готовых к выполнению потоков с таким же приоритетом нет, выполнение текущего потока не приостанавливается.

Исключения

Значение времени ожидания является отрицательной величиной и не равно Infinite.

Примеры

В следующем примере метод используется Sleep для блокировки основного потока приложения.

Комментарии

Выполнение потока не будет запланировано операционной системой на указанный период времени. Этот метод изменяет состояние потока для включения WaitSleepJoin .

Можно указать Timeout.Infinite для параметра, millisecondsTimeout чтобы приостановить поток в течение неограниченного времени. Однако System.Threading Mutex Monitor EventWaitHandle Semaphore для синхронизации потоков или управления ресурсами рекомендуется использовать другие классы, такие как,, или.

Системные тактовые импульсы с заданной скоростью, называемой разрешением часов. Фактическое время ожидания может быть не равно указанному времени ожидания, так как указанное время ожидания будет изменено в соответствии с тактами времени. дополнительные сведения о разрешении часов и времени ожидания см. в разделе функция Sleep из Windows системных api.

Этот метод не выполняет стандартные конвейеры COM и SendMessage.

Если необходимо включить спящий режим в потоке, который имеет STAThreadAttribute , но вы хотите выполнить стандартные выгрузки com и SendMessage, рассмотрите возможность использования одной из перегруженных версий Join метода, указывающих интервал времени ожидания.

Программы-таймеры нужны для того, чтобы настроить автоматический запуск компьютера в заданное время. Например, человек ложится спать или уходит на работу, но ко времени пробуждения или возвращения на работу ему потребуется компьютер. Можно включить его самостоятельно, но тогда придется ждать загрузку Windows, затем терпеть этап начального торможения (часто встречается на старых или маломощных устройствах). Кроме того, можно настроить автозапуск программ-загрузчиков, которые могут начать скачивания еще до того, как пользователь сядет за ПК.

  • устанавливать время запуска Windows (указанное или в формате «через N часов);
  • настраивать время отключения (указанное или спустя заданное количество часов после бездействия);
  • выбирать нужное действие: выключение, перезагрузка, переход в режим сна или гибернации («пробуждение» тоже можно настроить);
  • выбирать условия выключения: долгое бездействие, завершение выбранных процессов, определенный процент заряда батареи (актуально для ноутбуков) и пр. – зависит от функционала конкретной программы;
  • включение или отключение интернета;
  • планировщик;
  • использовать удаленное включение компьютера с телефона при условии синхронизации устройств.

Программы-таймеры для запуска Windows различаются между собой по функционалу, особенностям интерфейса и наличию дополнительных возможностей. Можно сравнить несколько из них и выбрать наиболее удобную и соответствующую индивидуальным пожеланиям.

Подробнее о каждом из участников рейтинга

SM Timer для Windows — небольшая утилита для удобного выключения ПК от разработчика SmartTurnOff может значительно упростить работу с ПК. Пользователи могут точно спланировать через сколько часов, минут и секунд их ПК будет выключаться. Кроме того, есть возможность установить, через какое время компьютер будет выключен программой.

Приложение SM Timer для Windows имеет простой пользовательский интерфейс, простота настройки и отсутствие необходимости в установке делают приложение полезным помощником при работе с ПК.

  • Завершение работы» — завершение работы компьютера через X минут;
  • Перезагрузка» — перезагрузка компьютера через X минут;
  • Спящий режим» — спящий режим компьютера через X минут.

В первом раскрывающемся списке указывается действие, которое должен выполнить компьютер. Во втором поле введите время (в минутах), когда должно произойти указанное действие.

Основные функции и особенности:

  • Простая среда.
  • Установка времени выключения.
  • Обратный отсчет.

Иногда пользователю нужно выключить компьютер через несколько минут, но в течение этих нескольких минут его не будет за компьютером, чтобы выполнить это действие. Для этого и создана SM Timer для Windows — простая программа для автоматического выключения компьютера. Просто распакуйте программу из архива, ее не нужно устанавливать или настраивать каким-либо сложным образом.

  • Отсутствие нагрузки на железо
  • Выключит в указанное время ПК, предварительно выполнив всю рутинную работу
  • Предварительно предупреждение о выключении с обратным отсчетом времени (30 сек)
  • Программа сворачивается в трей и совершенно не мешает пользователю заниматься своими делами
  • Через иконку в трее очень удобно управлять таймером
  • Есть возможность устанавливать, в какое время нужно произвести действие, или указать, через какой интервал нужно это сделать
  • Простая, удобная и ненавязчивая программа
  • Во время установки возможно будет предложено установка стороннего ПО

Таймер выключения для Windows — это еще одна программа, которая автоматически выключает ваш компьютер. Это простое и удобное приложение, которое мы настоятельно рекомендуем вам попробовать. Если вы никогда о нем не слышали, это очень «легкое» приложение, которое позволяет пользователю выключить компьютер, активировав настраиваемый таймер.

К тому же приложение позволяет:

  • перезапустить ПК;
  • перевести в спящий режим;
  • отключить компьютер.

Объясним, как его скачать и использовать в полной мере.

Сначала найдите Таймер выключения для Windows на странице загрузки, нажмите кнопку Download, расположенную в центре экрана, и откройте файл в конце загрузки. exe. После загрузки нажмите «OK» и установите таймер выключения для Windows на свой ПК.

После установки, откроется меню программы: выберите таймер и установите обратный отсчет времени до автоматического выключения компьютера, выбрав один из доступных вариантов (например, завершение работы через 10 минут, 30 минут, час или выключить ПК через 2 часа).

Теперь вы увидите новое окно на рабочем столе, в котором будет указан только что установленный вами обратный отсчет. В этом окне вы можете увеличить или уменьшить время при помощи кнопок (+) или (-) и, при необходимости, выберите действие, которое вы хотите выполнить автоматически в конце времени (например, отключиться или продолжить вместо закрытия).

Однако, если вы хотите остановить обратный отсчет, просто закройте окно приложения, нажав кнопку. (X) расположен вверху справа.

  • Удобство работы, практичность и многофункциональность
  • Установка времени выключения или перезагрузки компьютера
  • Автоматическое отключение соединения с интернетом или выключение монитора в указанное время
  • Автоматическое завершение текущего сеанса, переход в ждущий или спящий режим.
  • Умеет выполнять все перечисленные выше операции через указанный промежуток времени либо после закрытия окна
  • Предусмотрена установка пароля на вход в Таймер выключения для защиты ваших настроек
  • Поможет Вам сэкономить время на выполнение некоторых рутинных операций по управлению работой ПК
  • Широкие функциональные возможности
  • Не нагружает работу системы
  • Во время установки возможно будет предложено установка стороннего ПО

Простое бесплатное приложение Auto PowerOFF для Windows предоставляет несколько вариантов автоматического выключения компьютера по истечении заданного периода времени, например, через два часа.

Эта опция полезна, например, если вы хотите автоматически выключать компьютер после загрузки большого файла или выполнения другой длительной операции, которую вы выполняете, например, ночью. Windows может отображать окно с предупреждением во время установки, потому что Auto PowerOFF не является широко известным приложением, но все же завершит его установку, после чего программа запустится автоматически.

Например, вы можете использовать Auto PowerOFF для контролируемого завершения работы Windows после периода запуска определенного приложения в ваше отсутствие.

Основная часть окна Auto PowerOFF для Windows занимает время, оставшееся до выключения компьютера. Вы устанавливаете его с помощью клавиш со стрелками. В левой части окна приложения вы можете выбрать, что произойдет по истечении установленного времени.

Auto PowerOFF для Windows может:

  • выключить;
  • перезапустить;
  • заблокировать;
  • выйти из системы текущего пользователя;
  • перейти в спящий режим;
  • перейти режим гибернации;
  • или просто выключить монитор.

Вы также можете выбрать, будет ли действие выполняться после бездействия в течение определенного времени, в указанное время или по истечении заданного времени. Если обратный отсчет уже запущен, и вы передумали выключать или перезагружать компьютер, все, что вам нужно сделать, это закрыть программу Auto PowerOFF, нажав кнопку в правом верхнем углу окна приложения.

Читайте также: