¿Hay alguna manera de evitar que Windows entre en modo de suspensión mientras ejecuta un programa en la línea de comando o con cygwin? Idealmente, espero algo que pueda usarse como:
nosleep myscript.sh
Antecedentes
A veces inicio trabajos de larga duración, como una copia de seguridad manual o transferencias de archivos grandes, y he descubierto que Windows a menudo se duerme antes de que finalicen. Me gustaría poder iniciar el comando y evitar el modo de suspensión mientras se ejecuta el comando, pero que vuelva a funcionar automáticamente una vez que el comando se haya completado.
windows-7
command-line
sleep
cygwin
Señor fooz
fuente
fuente
Aquí hay un script bash que preparé en base a la respuesta de harrymc.
fuente
"$*"
a$*
. De lo contrario, obtuve lo siguiente al dar más de un argumento (por ejemplo$nosleep sleep 1
:/usr/bin/nosleep: line 31: sleep 1 command not found
"$@"
."$*"
está mal porque concatena todos los argumentos, mientras que$*
está mal, ya que divide los argumentos$IFS
y elimina los vacíos.Loop { SoundPlay, %A_WinDir%\Media\ding.wav }
Sinwait
argumento.Ahora hay tal
nosleep
comando en Cygwin. Simplemente instale elnosleep
paquete y ejecútelo comoEscrito por Andrew E. Schulman en 2011. Ver https://cygwin.com/ml/cygwin/2011-09/msg00151.html
La fuente en Launchpad . Utiliza
SetThreadExecutionState()
(como Insomnia ya mencionado), no crea un esquema de energía separado.Tenga en cuenta que evita que el sistema se suspenda automáticamente en inactivo, no que el sistema se suspenda si un usuario lo solicita (como al cerrar la tapa de una computadora portátil).
fuente
Sugerencia de esta respuesta de @LorenzCK sobre una pregunta relacionada:
Usar el modo de presentación del Centro de movilidad de Windows (si está disponible)
%WINDIR%\System32\PresentationSettings.exe "/start"
Verifique
powercfg -requests
en el símbolo del sistema. Debería dar salida:Lo positivo es que se borra al apagar o reiniciar. Ahora no tiene que preocuparse por almacenar y restaurar la configuración de energía original 👍
También evita que los monitores se apaguen, pero puede hacer que eso suceda con un comando en su script. Soluciones simples pero de terceros: NirCmd
nircmd monitor off
o AutoHotkey . Sin embargo, elSendMessage, 0x112, 0xF170, 2,, Program Manager
incorporadopowercfg /requestsoverride process PresentationSettings.exe display
no funcionará.fuente
El insomnio evita que sus ventanas se apaguen, pero no es una herramienta de línea de comandos, por lo que su script con los comandos harrymc son mejores soluciones
fuente