Estoy buscando una aplicación de apagado automático que apague forzosamente la computadora a una hora determinada.
La parte más importante de esto es que el cierre no debe ser cancelable (a menos que el proceso sea extremadamente oneroso).
Estoy buscando una aplicación de apagado automático que apague forzosamente la computadora a una hora determinada.
La parte más importante de esto es que el cierre no debe ser cancelable (a menos que el proceso sea extremadamente oneroso).
Respuestas:
Ok, más allá de mi respuesta anterior, puedo guiarlo a través de cómo obtener cron (un servicio de programación UNIX incorporado) para ejecutar un comando de apagado programado para usted.
Se ejecutará como root y será forzado.
sudo crontab -e
Deberá ingresar su contraseña de inicio de sesión y luego presionar enter.
Ahora estará en un editor de texto (vim). Ingrese cuidadosamente las siguientes pulsaciones de teclas.
Digamos que desea que la máquina se apague a las 2 am todos los días, ahora ingresaremos:
* 2 * * * /sbin/shutdown -h now
Si desea que la máquina se apague a las 2:30 am todos los días, debe ingresar:
30 2 * * * /sbin/shutdown -h now
Ahora debería volver a la línea de comando donde comenzó.
Ya terminaste!
sudo
ahí? Sé que probablemente hará que se cuelgue, pero estoy bastante seguro de que tienes que ser root para ejecutarlo shutdown
.
shutdown
es en el /sbin
que probablemente no está en el valor predeterminado $ PATH de cron. Para solucionarlo, sudo crontab -e
vuelva a hacerlo , escriba dd
para eliminar la línea (suponiendo que el archivo se parezca al que ha vinculado anteriormente) y vuelva a ingresar la línea como 30 22 * * * /sbin/shutdown -h now
.
Sin embargo, se puede cancelar:
Detenerse en yymmddhhmm
:
shutdown -h 1109211555
Detener en 4 minutos:
shutdown -h +4
/Library/LaunchAgents/me.lri.forceshutdown.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>me.lri.forceshutdown</string>
<key>ProgramArguments</key>
<array>
<string>shutdown</string>
<string>-h</string>
<string>now</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
Si el plist era propiedad de un usuario normal, intentar cargarlo provocaría el error launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
El agente se puede cargar al cerrar sesión y volver a iniciarla, o con:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Esto realizaría un apagado normal no forzado:
osascript -e 'tell app "System Events" to shut down'
Esto se puede programar en Preferencias del sistema> Ahorro de energía> Programar . No estoy seguro de que esto inicie un cierre forzado, tendrías que probarlo. Pero esa es una opción integrada para automatizar el apagado / encendido programado.
También puede apagar el sistema por la fuerza con un comando de terminal (requiere root):
apagado -h ahora
Puede poner ese comando en una tarea programada de launchd o cron . Consulte este artículo para obtener más información sobre esos dos servicios.
También es posible que desee revisar una aplicación como el iWannaSleep acertadamente llamado (no estoy seguro si esto obliga a cerrar).
Puede usar shutdown
directamente para programar un apagado en cualquier momento en el futuro:
shutdown -h time
donde time especifica una hora futura en uno de los dos formatos: + número, o aammddhhmm, donde el año, mes y día pueden estar predeterminados a los valores actuales del sistema. La primera forma baja el sistema en minutos y la segunda en el tiempo absoluto especificado.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# vea la nota abajo
sudo mv com.tjluoma.forceshutdown.plist /Library/LaunchAgents
sudo chown root:wheel /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
sudo launchctl load /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
Tal como está escrito, la lista hará que la computadora se apague a las 11 p.m. (hora local) todos los días.
Si desea cambiar la hora, edite el script en cualquier editor de texto. Cambie las teclas de hora y minuto, extraídas aquí:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(tenga en cuenta el uso del tiempo de 24 horas)
Si desea apagar su Mac de manera segura a una hora programada, considere Power Manager ; se cierra muy bien sin permitir que las aplicaciones bloqueen el proceso:
Es muy difícil para una aplicación o proceso no autorizado bloquear estos pasos.
shutdown
El uso shutdown
forzará a cerrar todos los procesos en su Mac, incluidas las aplicaciones gráficas. Para muchas aplicaciones, este es un comportamiento agresivo y no brinda a la aplicación muchas oportunidades para guardar estado o datos.
Power Manager incluye una tarea del Asistente de programación para cerrar una programación .
Divulgación: trabajo con la compañía que hace Power Manager.
Echaría un vistazo a esta nota técnica de Apple