Tengo una aplicación en OSX que entra repetidamente en un estado No responde y debe ser forzada a matar. Esperaba automatizarlo, pero al inspeccionar el proceso con ps no veo nada que corresponda con el estado No responde. Miré el indicador de estado , pero la aplicación muestra como S si está respondiendo o no.
estado El estado viene dado por una secuencia de caracteres, por ejemplo, `` RWNA ''. El primer carácter indica el estado de ejecución del proceso:
- I Marca un proceso que está inactivo (durmiendo por más de 20 segundos).
- R Marca un proceso ejecutable.
- S Marca un proceso que duerme durante menos de unos 20 segundos.
- T Marca un proceso detenido.
- U Marca un proceso en espera ininterrumpida.
- Z Marca un proceso muerto (un `` zombie '').
¿Cómo puedo determinar si el proceso no responde como lo hace el Administrador de actividades?
También estoy abierto a las soluciones AppleScript.
Aquí hay un AppleScript que usa scripts de interfaz de usuario que busca un proceso que no responde y los mata.
Funcionará con el Monitor de actividad de Mavericks. Pero como se trata de secuencias de comandos de la interfaz de usuario y dado que la interfaz de usuario de Activity Monitor cambió, lo más probable es que esto no funcione con OS X más antiguo sin algunas modificaciones menores.
fuente
tell radio button 1 of radio
. Eliminé eso y modifiqué algunas otras cosas (solo quiero matar un programa específico) y obtuve el error de tiempo de ejecución: 'error "Los eventos del sistema obtuvieron un error: el acceso para dispositivos de asistencia está deshabilitado". número -1719 de la ventana 1 del proceso "Monitor de actividad" 'tell radio button 1 of radio group 1 of group 2 of toolbar 1 of window 1 to click
(Publicar esto como una respuesta separada ya que es demasiado tiempo para caber en un comentario)
Gracias a @MatthieuRiegler por el guión original.
Esto funcionó en 10.12.6 y es una modificación menor del guión original (vi el comentario de @ CharlieGorichanaz después de haber hecho mi propia investigación):
** 1 En macOS 10.12.x, la barra de herramientas contiene uniconoadicionaldebido al cual se encuentra el conjunto de botones (CPU, Memoria, Energía, etc.) en
group 2 of toolbar 1
lugar degroup 1 of toolbar 1
. En ausencia de ese icono (no lo he confirmado en versiones anteriores de macOS), creo que los botones de la CPU, etc.group 1 of toolbar 1
** 2 Esto se aplica si alguna vez arrastró la columna PID en la columna Actividad a una posición diferente. Arrastré la columna PID a la posición más a la izquierda, así que en esta línea, tuve que cambiar el índice a
1
:Las columnas están numeradas desde el extremo izquierdo, comenzando en 1. Por lo tanto, ajuste el índice resaltado en la línea anterior en consecuencia si es necesario.
fuente