¿Cómo puedo apagar por la fuerza mi Mac a una hora determinada?

17

Estoy buscando una aplicación de apagado automático que apague la computadora a la hora indicada.

La parte más importante de esto es que el cierre no debe ser cancelable (a menos que el proceso sea extremadamente oneroso).

    
pregunta Harry 14.09.2011 - 12:51

7 respuestas

22

Bien, por lo que, además de mi respuesta anterior, puedo guiarlo a través de la obtención de cron (un servicio de programación UNIX integrado) para ejecutar un comando de apagado programado para usted.

Se ejecutará como root y será forzado.

  • Terminal abierta (/ Aplicaciones / Utilidades / Terminal)
  • Entrada sudo crontab -e

Deberá ingresar su contraseña de inicio de sesión y luego presionar intro.

Ahora estarás en un editor de texto (vim). Ingrese con cuidado las siguientes pulsaciones de teclas.

  • Presiona i una vez (esto te permitirá ingresar texto)

Supongamos que desea que la máquina se apague a las 2 am todos los días, ahora ingresamos:

* 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
  • Cuando hayas escrito esto, presiona esc
  • Luego presione shift + z shift + z (eso es mayúscula "z" dos veces, para escribir el cambios y salir del editor)

Ahora deberías volver a la línea de comandos donde comenzaste.

¡Ya terminaste!

    
respondido por el macaco 17.09.2011 - 16:50
13

Sepuedecancelaraunque:

Detener en yymmddhhmm :

shutdown -h 1109211555

Detente 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 daría como resultado el error launchctl: Dubious ownership on file (skipping) :

sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist

El agente se puede cargar cerrando y cerrando sesión, 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'
    
respondido por el user495470 21.09.2011 - 15:41
9

Esto se puede programar en Preferencias del sistema > Ahorro de energía > Horario . No estoy seguro de que esto inicie un cierre forzado, tendrías que probarlo. Pero esa es una opción integrada para automatizar el encendido / apagado programado.

  • También puede apagar el sistema a la fuerza con un comando de terminal (requiere root):

    apagar -h ahora

    Podría poner ese comando en una tarea programada launchd o cron . Consulte este artículo para obtener más información Información sobre esos dos servicios.

  • También puede revisar una aplicación como la llamada iWannaSleep (no estoy seguro de si esto fuerza a apagarse)

respondido por el macaco 14.09.2011 - 13:34
3

Puede usar shutdown directamente para programar un cierre en cualquier momento dado en el futuro:

shutdown -h time

donde el tiempo especifica una hora futura en uno de dos formatos:              + número, o yymmddhhmm, donde el año, mes y día pueden estar predeterminados al actual              Valores del sistema. La primera forma reduce el sistema en minutos y la segunda              en el tiempo absoluto especificado.

    
respondido por el nohillside 17.09.2011 - 12:58
2
cd ~/Downloads/

curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist

# ver 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

Nota:

Como está escrito, el plist hará que la computadora se apague a las 11 pm (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>

(note el uso del tiempo de 24 horas)

    
respondido por el TJ Luoma 20.09.2011 - 20:02
2

Mejor apagado programado

Si desea apague su Mac de forma segura a una hora programada, considere Power Manager ; se apaga bien sin permitir que las aplicaciones bloqueen el proceso:

  • Todos los usuarios activos reciben una amplia notificación.
  • Se muestra una gran advertencia poco antes de que comience el apagado.
  • Se pide a las aplicaciones en ejecución que se salgan.
  • Las aplicaciones que ignoran la solicitud agradable se cierran más firmemente.
  • Se debe finalizar el cierre de sesión, antes de que Mac finalmente se apague.

Es muy difícil para una aplicación o proceso deshonesto bloquear estos pasos.

¿Por qué no shutdown

El uso de shutdown forzará el cierre de todos los procesos en tu Mac, incluidas las aplicaciones gráficas. Para muchas aplicaciones, este es un comportamiento agresivo y no proporciona a la aplicación muchas oportunidades de guardar datos o estado.

Asistente de Programación

Power Manager incluye una tarea de Schedule Assistant para cerrándose a un horario .

Divulgación: trabajo con la compañía que hace Power Manager.

    
respondido por el Graham Miln 13.05.2014 - 16:13
0

Echaré un vistazo a esta nota técnica de Apple

    
respondido por el Samantha Catania 17.09.2011 - 13:42

Lea otras preguntas en las etiquetas