Eu tenho um aplicativo no OSX que entra repetidamente no estado Não responde e precisa ser forçado a matar. Eu esperava automatizá-lo, mas, ao inspecionar o processo com o ps , não vejo nada que corresponda ao estado Não está respondendo. Eu olhei para o indicador de estado , mas o aplicativo mostra como S se está respondendo ou não.
state O estado é dado por uma sequência de caracteres, por exemplo, `` RWNA ''. O primeiro caractere indica o estado de execução do processo:
- I Marca um processo que está ocioso (inativo por mais de 20 segundos).
- R Marca um processo executável.
- S Marca um processo que dorme por menos de 20 segundos.
- T Marca um processo parado.
- U Marca um processo em espera ininterrupta.
- Z Marca um processo morto (um `` zumbi '').
Como posso determinar se o processo está não está respondendo como o Gerenciador de atividade faz?
Também estou aberto a soluções AppleScript.
Aqui está um AppleScript usando scripts de interface do usuário que procura por um processo de não resposta e os mata.
Ele funcionará com o Activity Monitor of Mavericks. Porém, como se trata de scripts da interface do usuário e como a interface do usuário do Activity Monitor foi alterada, provavelmente não funcionará com o OS X mais antigo sem algumas pequenas modificações.
fonte
tell radio button 1 of radio
. Eu removi isso e ajustei algumas outras coisas (eu só quero matar um programa específico) e recebo o erro de tempo de execução: 'error "Os Eventos do Sistema obtiveram um erro: o acesso a dispositivos auxiliares está desativado." número -1719 da janela 1 do processo "Activity Monitor" 'tell radio button 1 of radio group 1 of group 2 of toolbar 1 of window 1 to click
(Postando isso como uma resposta separada, já que há muito tempo para caber em um comentário)
Os nossos agradecimentos a @MatthieuRiegler pelo script original.
Isso funcionou em 10.12.6 e é uma pequena modificação do script original (vi o comentário de @ CharlieGorichanaz depois que eu fiz minha própria investigação):
** 1 No macOS 10.12.x, a barra de ferramentas contém umíconeadicionaldevido ao qual está o conjunto de botões (CPU, Memória, Energia, etc.) em
group 2 of toolbar 1
vez degroup 1 of toolbar 1
. Na ausência desse ícone (não confirmei nas versões mais antigas do macOS), acredito que os botões da CPU etc. estariam emgroup 1 of toolbar 1
** 2 Isso se aplica se você já arrastou a coluna PID na coluna Atividade para uma posição diferente. Eu arrastei a coluna PID para a posição mais à esquerda, então nesta linha, tive que alterar o índice para
1
:As colunas são numeradas a partir da extremidade esquerda, começando em 1. Portanto, ajuste o índice realçado na linha acima, se necessário.
fonte