Força para encerrar o Terminal.app usando o Editor de Scripts da Apple

0

Estou tentando forçar fechar meu Terminal.app usando o Editor de scripts da Apple

tell application "Terminal"
    quit
end tell

tell application "System Events"
    key code 53
end tell

Não parece funcionar. Como alguém iria e fez isso?

    
por kyo 22.08.2017 / 02:33

2 respostas

0

Parece que encontrei a resposta para a minha pergunta

tell application "Terminal"
    quit
    tell application "System Events"
        keystroke return
    end tell
end tell
    
por 22.08.2017 / 02:37
0

O envio de um comando quit e keystroke não equivale a um encerramento forçado. Eu suponho que a solução que você escolheu pareceu funcionar simplesmente porque, depois de ter sido emitido um comando quit , eu estou supondo que uma caixa de diálogo apareceu perguntando se você gostaria de forçar o encerramento Terminal . Acertar Enter - fisicamente ou programaticamente - selecionaria a opção force-quit apresentada a você.

O problema com o envio de uma tecla pressionada programaticamente é que, se o foco mudasse inesperadamente para outra janela em seu sistema, a tecla pressionada seria enviada para a janela errada.

Um método genuíno de forçar a saída de um aplicativo do AppleScript é obter seu PID e, em seguida, emitir um comando kill por meio de um script de shell. Na verdade, é apenas uma única linha de código. Veja como ficaria quando usado para lidar com sua situação (formatado em duas linhas para facilitar a leitura):

    tell application "System Events" to ¬
    do shell script "kill -9 " & unix id of process "Terminal"
    
por 27.01.2018 / 23:32