¿Reiniciar OS X si una aplicación se ha bloqueado / no responde / ha sido bloqueada?

0

¿Cómo puedo reiniciar automáticamente la máquina si una aplicación se ha bloqueado de alguna manera? Podría haber salido limpiamente, tener un error de abandono inesperado o estar congelado con la pelota de playa giratoria.

No quiero reiniciar la aplicación, pero hago un reinicio completo.

¿Alguna idea? Gracias.

    
pregunta davivid 13.09.2013 - 11:34

2 respuestas

0

Después de mucha investigación, prueba y error, he llegado a la conclusión de que no hay una manera confiable de hacerlo. Por lo tanto, hemos utilizado un enfoque que solo funcionará con ciertas aplicaciones, en este caso, una que modifica un archivo cada nSegundos. Obviamente, si la aplicación se ha bloqueado, ha salido o se ha bloqueado, esto no sucederá.

Mi Apple Script monitorea este archivo, y si detecta que no se modificó después de nSegundos, forzará un reinicio de la máquina.

-- Watchdog Script --
--
-- Continually checks that a file is modified, otherwise will force a system restart
-- 2013 David Penney

-- Config
set HFSpath to "app/data/logfile.log"
set username to "user"
set passwrd to "pass"
set updateIntervalSeconds to 5
-- End Config

set lastModTime to "Deltron 3030"
delay (60)

repeat
    tell application "System Events"
        set newModTime to modification date of file HFSpath
    end tell
    if newModTime is equal to lastModTime then
        do shell script "shutdown -r now" user name username password passwrd with administrator privileges
        log "booooooM"
    else
        set lastModTime to newModTime
        log "coolio"
    end if
    delay (updateIntervalSeconds)
end repeat
    
respondido por el davivid 17.09.2013 - 10:13
0

Reemplace Shalalalala con el nombre del proceso que desea monitorear.

property NameOfVictim : "Shalalalala"


tell application "System Events"
    set ps to get the name of every process

    repeat while ps contains NameOfVictim
        set ps to get the name of every process
    end repeat

    restart
end tell  
    
respondido por el Max Ried 13.09.2013 - 12:18

Lea otras preguntas en las etiquetas