Аналог sleep для windows

Содержание
  1. [C++]аналог Sleep()?
  2. [C++]аналог Sleep()?
  3. Команда SLEEP — задать период ожидания.
  4. CMD/BAT: sleep штатными средствами cmd
  5. Сообщения 32
  6. 1 Тема от MegaScrew 2012-08-03 14:11:26 (изменено: MegaScrew, 2012-08-03 14:34:50)
  7. Тема: CMD/BAT: sleep штатными средствами cmd
  8. 2 Ответ от alexii 2012-08-03 15:12:06
  9. Re: CMD/BAT: sleep штатными средствами cmd
  10. 3 Ответ от MegaScrew 2012-08-03 15:34:04
  11. Re: CMD/BAT: sleep штатными средствами cmd
  12. 4 Ответ от alexii 2012-08-03 17:35:16
  13. Re: CMD/BAT: sleep штатными средствами cmd
  14. 5 Ответ от smaharbA 2012-08-03 19:38:28
  15. Re: CMD/BAT: sleep штатными средствами cmd
  16. 6 Ответ от smaharbA 2012-08-03 19:39:23
  17. Re: CMD/BAT: sleep штатными средствами cmd
  18. 7 Ответ от Smitis 2012-08-04 13:21:54
  19. Re: CMD/BAT: sleep штатными средствами cmd
  20. 8 Ответ от Rumata 2012-08-04 13:38:52
  21. Re: CMD/BAT: sleep штатными средствами cmd
  22. 9 Ответ от alexii 2012-08-05 12:07:42
  23. Re: CMD/BAT: sleep штатными средствами cmd
  24. 10 Ответ от MegaScrew 2012-08-06 09:56:23
  25. Re: CMD/BAT: sleep штатными средствами cmd
  26. 11 Ответ от smaharbA 2012-08-06 11:08:49
  27. Re: CMD/BAT: sleep штатными средствами cmd
  28. 12 Ответ от MegaScrew 2012-08-06 11:34:05
  29. Re: CMD/BAT: sleep штатными средствами cmd
  30. 13 Ответ от greg zakharov 2012-08-06 17:13:15 (изменено: greg zakharov, 2012-08-06 17:14:09)
  31. Re: CMD/BAT: sleep штатными средствами cmd
  32. 14 Ответ от smaharbA 2012-08-06 18:04:00 (изменено: smaharbA, 2012-08-06 18:04:30)
  33. Re: CMD/BAT: sleep штатными средствами cmd
  34. 15 Ответ от Serge Yolkin 2012-08-07 11:51:26
  35. Re: CMD/BAT: sleep штатными средствами cmd
  36. 16 Ответ от MegaScrew 2012-08-07 12:21:23
  37. Re: CMD/BAT: sleep штатными средствами cmd
  38. 17 Ответ от Serge Yolkin 2012-08-07 18:45:55
  39. Re: CMD/BAT: sleep штатными средствами cmd
  40. 18 Ответ от smaharbA 2012-08-07 20:12:21
  41. Re: CMD/BAT: sleep штатными средствами cmd
  42. 19 Ответ от greg zakharov 2012-08-07 21:00:15
  43. Re: CMD/BAT: sleep штатными средствами cmd
  44. 20 Ответ от smaharbA 2012-08-07 21:57:20
  45. Re: CMD/BAT: sleep штатными средствами cmd
  46. 21 Ответ от alexii 2012-08-08 01:50:31
  47. Re: CMD/BAT: sleep штатными средствами cmd
  48. 22 Ответ от MegaScrew 2012-08-08 10:26:09 (изменено: MegaScrew, 2012-08-08 10:47:25)
  49. Re: CMD/BAT: sleep штатными средствами cmd
  50. «На сон грядущий» или таймер выключения Windows из командной строки
  51. В большинстве своем всё новое это хорошо забытое старое.
  52. Есть всем известное выражение которое многим нравится:
  53. Мораль:

[C++]аналог Sleep()?

Здравствуйте немогу найти адекватный аналог функции Sleep (int ms);

#include usleep (5000);

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

usleep спит микросекунды.

А вообще ее вроде как стараются выкинуть. Используй nanosleep.

молодцы.. выкинуть. а вот допустим мне надо рандом srand(time(0)); и генерировать масив рандомных чисел, а то без паузы в секунду времени не получается разнообразный рандом.

ну а кто тебе сказал, что srand — хороший генератор?

А ты попробуй srand(time(0)+1) :>

Используй boost random

[C++]аналог Sleep()?

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

> а вот допустим мне надо рандом srand(time(0));

один раз, в начале мейн().

> генерировать масив рандомных чисел

Команда SLEEP — задать период ожидания.

Команда SLEEP входит в состав дополнительного пакета Resource Kit и используется в командных файлах для организации режима ожидания фиксированного интервала времени.

Формат командной строки:

sleep -m миллисекунды

SLEEP /? — отобразить краткую справку по использованию команды

sleep 10 установить режим ожидания 10 секунд.

sleep –m 2500 — установить интервал ожидания 2500 миллисекунд (2.5 секунды).

Для прерывания команды sleep можно использовать комбинации клавиш CTRL+C или CTRL+Break.

Читайте также:  Softwareupdated mac os ��� ���

В качестве альтернативы команды sleep используется команда ping для петлевого интерфейса с указанием количества эхо-запросов, соответствующего длительности задержки в секундах. Поскольку эхо-запрос для петлевого интерфейса выполняется практически мгновенно, а интервал между запросами равен 1 секунде, такой способ вполне приемлем, и не требует установки Resource Kit или копирования утилиты sleep.exe для выполнения задержки на требуемый интервал времени.

Примеры выполнения задержек с использованием ping.exe :

ping –n 1 localhost > nul — задержка на 1 секунду. Перенаправление вывода на фиктивное устройство nul используется для подавления вывода утилиты ping.exe

ping –n 1 127.0.0.1 > nul — то же, но с указанием IP-адреса петлевого интерфейса.

В операционных системах Windows Vista и старше, для организации задержек при выполнении командных файлов можно использовать команду TIMEOUT

CMD/BAT: sleep штатными средствами cmd

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 32

1 Тема от MegaScrew 2012-08-03 14:11:26 (изменено: MegaScrew, 2012-08-03 14:34:50)

  • MegaScrew
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 0 ]

Тема: CMD/BAT: sleep штатными средствами cmd

задержка от 1 до 60 секунд

2 Ответ от alexii 2012-08-03 15:12:06

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

Re: CMD/BAT: sleep штатными средствами cmd

3 Ответ от MegaScrew 2012-08-03 15:34:04

  • MegaScrew
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 0 ]

Re: CMD/BAT: sleep штатными средствами cmd

Согласен, можно, но не всем этот способ подходит.

4 Ответ от alexii 2012-08-03 17:35:16

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

Re: CMD/BAT: sleep штатными средствами cmd

5 Ответ от smaharbA 2012-08-03 19:38:28

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [ 0 | 0 ]

Re: CMD/BAT: sleep штатными средствами cmd

не всегда есть ип

6 Ответ от smaharbA 2012-08-03 19:39:23

  • smaharbA
  • Разработчик
  • Неактивен
  • Рейтинг : [ 0 | 0 ]

Re: CMD/BAT: sleep штатными средствами cmd

+ а в сабже крайне ужасный метод, на другом форуме посоветовал бы автору убить себя )

7 Ответ от Smitis 2012-08-04 13:21:54

  • Smitis
  • Разработчик
  • Неактивен
  • Рейтинг : [ 0 | 0 ]

Re: CMD/BAT: sleep штатными средствами cmd

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

8 Ответ от Rumata 2012-08-04 13:38:52

  • Rumata
  • Разработчик
  • Неактивен
  • Рейтинг : [ 31 | 0 ]

    Re: CMD/BAT: sleep штатными средствами cmd

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

    9 Ответ от alexii 2012-08-05 12:07:42

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

    Re: CMD/BAT: sleep штатными средствами cmd

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

    10 Ответ от MegaScrew 2012-08-06 09:56:23

    • MegaScrew
    • Участник
    • Неактивен
    • Рейтинг : [ 0 | 0 ]

    Re: CMD/BAT: sleep штатными средствами cmd

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

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

    11 Ответ от smaharbA 2012-08-06 11:08:49

    • smaharbA
    • Разработчик
    • Неактивен
    • Рейтинг : [ 0 | 0 ]

    Re: CMD/BAT: sleep штатными средствами cmd

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

    12 Ответ от MegaScrew 2012-08-06 11:34:05

    • MegaScrew
    • Участник
    • Неактивен
    • Рейтинг : [ 0 | 0 ]

    Re: CMD/BAT: sleep штатными средствами cmd

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

    13 Ответ от greg zakharov 2012-08-06 17:13:15 (изменено: greg zakharov, 2012-08-06 17:14:09)

    • greg zakharov
    • Разработчик
    • Неактивен
    • Рейтинг : [ 5 | 0 ]

      Re: CMD/BAT: sleep штатными средствами cmd

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

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

      14 Ответ от smaharbA 2012-08-06 18:04:00 (изменено: smaharbA, 2012-08-06 18:04:30)

      • smaharbA
      • Разработчик
      • Неактивен
      • Рейтинг : [ 0 | 0 ]

      Re: CMD/BAT: sleep штатными средствами cmd

      15 Ответ от Serge Yolkin 2012-08-07 11:51:26

      • Serge Yolkin
      • Разработчик
      • Неактивен
      • Рейтинг : [ 1 | 0 ]

        Re: CMD/BAT: sleep штатными средствами cmd

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

        16 Ответ от MegaScrew 2012-08-07 12:21:23

        • MegaScrew
        • Участник
        • Неактивен
        • Рейтинг : [ 0 | 0 ]

        Re: CMD/BAT: sleep штатными средствами cmd

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

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

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

        17 Ответ от Serge Yolkin 2012-08-07 18:45:55

        • Serge Yolkin
        • Разработчик
        • Неактивен
        • Рейтинг : [ 1 | 0 ]

          Re: CMD/BAT: sleep штатными средствами cmd

          18 Ответ от smaharbA 2012-08-07 20:12:21

          • smaharbA
          • Разработчик
          • Неактивен
          • Рейтинг : [ 0 | 0 ]

          Re: CMD/BAT: sleep штатными средствами cmd

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

          19 Ответ от greg zakharov 2012-08-07 21:00:15

          • greg zakharov
          • Разработчик
          • Неактивен
          • Рейтинг : [ 5 | 0 ]

            Re: CMD/BAT: sleep штатными средствами cmd

            Господа! а что вы именно разумеете под штатными средствами? Учитывая, что .NET Framework ныне стал необходимостью для большинства пользователей, можно использовать его возможности.

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

            20 Ответ от smaharbA 2012-08-07 21:57:20

            • smaharbA
            • Разработчик
            • Неактивен
            • Рейтинг : [ 0 | 0 ]

            Re: CMD/BAT: sleep штатными средствами cmd

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

            21 Ответ от alexii 2012-08-08 01:50:31

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

            Re: CMD/BAT: sleep штатными средствами cmd

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

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

            22 Ответ от MegaScrew 2012-08-08 10:26:09 (изменено: MegaScrew, 2012-08-08 10:47:25)

            • MegaScrew
            • Участник
            • Неактивен
            • Рейтинг : [ 0 | 0 ]

            Re: CMD/BAT: sleep штатными средствами cmd

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

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

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

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

            «На сон грядущий» или таймер выключения Windows из командной строки

            Ценность этой статьи скорее не в самом решении, а в напоминании как можно быстро решать простые задачи.
            Но если Вам нужно простое решение — пожалуйста:

            Сохраните в CMD эти строки и после запуска через 20 минут (1200 секунд) компьютер перейдет в спящий режим. Итого программа заняла 73 байт:

            Но если Вам нужно именно выключить, то всё будет еще короче, а именно 47 байт. Просто вторая строка будет выглядеть:

            Использую это перед сном, включая свое любимое онлайн радио «на сон грядущий» так же из командной строки, о чём будет рассказано под катом.
            Кому все таки стало любопытно, прошу под кат. Ссылки на готовые скрипты в конце статьи.

            В большинстве своем всё новое это хорошо забытое старое.

            Сначала рассмотрим что делают эти строки:

            Пингуем IP адрес который всегда доступен (разве что Ваш firewall настроен «с выдумкой»). Интервал по умолчанию 1000 мс = 1 секунда. Ключ -n задает количество повторений 20 минут х 60 секунд = 1200 + 1 (т.к. первый пинг возвращается менее чем через 1 мс). А конструкция > nul говорит интерпретатору что стандартный вывод будет направляться в nul дабы избавиться от ненужного вывода на экран.

            Происходит вызов программы rundll32.exe, которая позволяет выполнить подпрограмму из динамической библиотеки. В данном случае SetSuspendState с нужными нам параметрами. Подробное описание в MSDN.

            Следует заметить, что если у вас включен гибридный режим сна (Hibernate), то войдет он именно в этот режим. Отключить его можно запустив от имени администратора следующее:

            Запуск моего любимого интернет радио через Winamp в отдельном потоке.

            Заблокировать рабочую станцию (WIN + L).

            Гибридный режим сна (Hibernate).

            Старая шутка с включением режима мыши для левши (меняются левая и правая кнопка мыши).

            Отменить шутку с мышкой можно вызвав диалог настройки мыши и отключив эту функцию.

            Переместить курсор в левый верхний угол.

            Расположить все не свернутые окна каскадом.

            Расположить все не свернутые окна по вертикали.

            Еще много интересного можно найти на просторах интернета и придумать, вспоминая документацию по WinAPI функциям.

            Есть всем известное выражение которое многим нравится:

            Немного истории:

            Еще в далёком 2003 году для выключения ПК по таймеру на скорую руку писалась простенькая программка. Писал сам, ибо знакомых программистов и доступа к интернету в то время у меня не было. Уверен, что много таких же «домашних программистов», которые купив или нарезав на болванки MSDN изучали программирование под Windows ночи напролёт. По случаю написания статьи отрыл ее в старом архиве на родительском ПК. Выглядела она незатейливо, но задачу свою выполняла. Как оказалось, даже сейчас ей пользуются несколько моих знакомых.

            На чём она была написана уже и не помню (VC, VB, Delphi или Assembler). Размер ее был тоже не большим, но все же 16 166 против 47 байт не идут ни в какое сравнение.
            И когда пару дней назад мне понадобился такой же функционал я полез искать похожий софт. Каково же было моё разочарование, когда я нашел кучу программ в среднем от 1,1 Мб до огромных монстров 15,2 Мб размером. Естественно совесть мне не позволила даже в песочнице запустить эту ересь. Понимая что мне нужна задержка выполнения в 20 минут и вызов одной лишь процедуры я вспомнил про rundll32.exe, полез в инет и не ошибся. В итоге решение было найдено за 1 минуту.

            Мораль:

            Зачастую для решения простых задач нам не нужен сторонний софт. Достаточно просто зайти в поисковик и найти простое решение задачи, которое в 98,785% уже есть в свободном доступе. Конечно же нужно упомянуть и другой путь, для настоящих ИТ-шников, включить воображение, зайти в мануалы MSDN и воспользоваться готовым функционалом ОС. Согласитесь, приятно пользоваться простыми и элегантными решениями, но вдвойне приятнее когда до их решения ты дошел своим умом.

            Читайте также:  Как создать ярлык bluetooth windows 10
Оцените статью