Запобігання сну в сценаріях

Чи є спосіб запобігти переходу Windows в режим сну, поки програма працює в командному рядку або з Cygwin? В ідеалі, я сподіваюся на щось, що можна використовувати, наприклад:

режим глибокого

фон

Іноді я починаю тривалі роботи, такі як ручне резервне копіювання або передача великих файлів, і виявляю, що Windows часто переходить у сплячий режим, перш ніж вони закінчаться. Я хочу мати можливість запускати команду та запобігати сплячому режиму під час запуску команди, але хочу, щоб вона автоматично починала працювати знову після завершення команди.

Ви можете використовувати скрипт у powercfg, щоб змінити час очікування ПК перед тим, як він переходить у режим сну:

Ніколи не переходьте в режим очікування:

Перехід у режим очікування через 15 хвилин:

Ось скрипт bash, який я створив на основі відповіді Гарріма.

nosleep Зараз у Cygwin існує така команда. Просто встановіть пакет nosleep і запустіть його як

Автор Ендрю Е. Шульман у 2011 році. Див. Https://cygwin.com/ml/cygwin/2011-09/msg00151.html

Джерело на панелі запуску. Він використовує SetThreadExecutionState () (як раніше згаданий Insomnia), не створює окремої схеми живлення.

Зверніть увагу, що це заважатиме системі автоматично переходити в режим глибокого сну в режимі очікування, а не системі входити в режим глибокого сну на прохання користувача (наприклад, при закритті кришки ноутбука).

Пропозиція з цієї відповіді @LorenzCK на відповідне питання:

Використовуйте режим презентації в Центрі мобільності Windows (якщо він доступний).

Перевірте powercfg -requests у командному рядку. Повинно вивести:

Перевага полягає в тому, що він буде видалений при вимкненні або перезапуску. Тепер вам не доведеться турбуватися про збереження та відновлення початкових налаштувань живлення 👍