Existe-t-il un moyen d'empêcher Windows de passer en mode veille lors de l'exécution d'un programme sur la ligne de commande ou avec cygwin? Idéalement, j'espère quelque chose qui pourrait être utilisé comme:
nosleep myscript.sh
Contexte
Parfois, je démarre des travaux de longue durée comme une sauvegarde manuelle ou des transferts de fichiers volumineux et j'ai constaté que Windows se met souvent en veille avant la fin. Je voudrais pouvoir démarrer la commande et empêcher le mode veille pendant l'exécution de la commande, mais la faire fonctionner à nouveau automatiquement une fois la commande terminée.
la source
Voici un script bash que j'ai préparé en fonction de la réponse de harrymc.
la source
"$*"
à$*
. Sinon, j'ai obtenu ce qui suit en donnant plus d'un argument (par exemple$nosleep sleep 1
:/usr/bin/nosleep: line 31: sleep 1 command not found
"$@"
."$*"
est incorrect car il concatène tous les arguments, tandis qu'il$*
est incorrect car il divise les arguments$IFS
et supprime ceux qui sont vides.Loop { SoundPlay, %A_WinDir%\Media\ding.wav }
, sanswait
argument.Il existe désormais une telle
nosleep
commande dans Cygwin. Installez simplement lenosleep
package et exécutez en tant queÉcrit par Andrew E. Schulman en 2011. Voir https://cygwin.com/ml/cygwin/2011-09/msg00151.html
La source sur Launchpad . Il utilise
SetThreadExecutionState()
(comme Insomnia déjà mentionné), ne crée pas de schéma d'alimentation séparé.Notez qu'il empêche le système de se mettre automatiquement en veille au repos, pas le système de se mettre en veille si un utilisateur le demande (comme lors de la fermeture d'un couvercle d'ordinateur portable).
la source
Suggestion de cette réponse de @LorenzCK sur une question connexe:
Utiliser le mode de présentation à partir de Windows Mobility Center (si disponible)
%WINDIR%\System32\PresentationSettings.exe "/start"
Vérifiez avec
powercfg -requests
dans l'invite de commande. Devrait produire:L'avantage est qu'il est effacé à l'arrêt ou au redémarrage. Maintenant, vous n'avez plus à vous soucier de stocker et de restaurer les paramètres d'alimentation d'origine 👍
Cela empêche également les moniteurs de se mettre en veille, mais vous pouvez y arriver avec une commande de votre script. Solutions simples mais tierces: NirCmd
nircmd monitor off
ou AutoHotkeySendMessage, 0x112, 0xF170, 2,, Program Manager
Le intégrépowercfg /requestsoverride process PresentationSettings.exe display
ne fonctionnera pas cependant.la source
L'insomnie empêche vos fenêtres de s'endormir mais ce n'est pas un outil en ligne de commande, donc votre script avec les commandes harrymc sont de meilleures solutions
la source