Предотвратете съня в скриптове
Има ли някакъв начин да попреча на Windows да заспи, докато се изпълнява програма в командния ред или с Cygwin? В идеалния случай се надявам на нещо, което може да се използва като:

заден план
Понякога започвам дългосрочни задачи като ръчно архивиране или прехвърляне на големи файлове и откривам, че Windows често заспива, преди да са готови. Искам да мога да стартирам командата и да предотвратя хибернация, докато командата се изпълнява, но искам тя автоматично да започне да работи отново, след като командата завърши.
Можете да използвате скрипт в powercfg, за да промените времето, в което компютърът чака, преди да заспи:
Никога не влизайте в режим на готовност:
Превключете в режим на готовност след 15 минути:
Ето един bash скрипт, който направих въз основа на отговора на harrymc.
nosleep Вече има такава команда в Cygwin. Просто инсталирайте пакета nosleep и го стартирайте като a
Написано от Андрю Е. Шулман през 2011 г. Вижте https://cygwin.com/ml/cygwin/2011-09/msg00151.html
Източникът на стартовия панел. Той използва SetThreadExecutionState () (както споменатата по-горе Insomnia), не създава отделна схема за захранване.
Имайте предвид, че това ще попречи на системата да влиза автоматично в режим на хибернация в неактивен режим, а не на системата да влиза в режим на хибернация по искане на потребител (например при затваряне на капака на лаптопа).
Предложение от този отговор от @LorenzCK на свързан въпрос:
Използвайте режим на презентация в Центъра за мобилност на Windows (ако е наличен).
Проверете с powercfg -requests в командния ред. Трябва да изведе:
Предимството е, че ще бъде изтрито при изключване или рестартиране. Сега не е нужно да се притеснявате за запазване и възстановяване на първоначалните настройки на захранването 👍