Então eu tenho um pouco de configuração complicada, mas deixe-me ver se consigo simplificar
Estou executando um aplicativo mono em uma máquina OSX remota. Este aplicativo pode, ocasionalmente, travar o tempo de execução mono.
Existe um script de shell de recuperação executando a cada 2 minutos via launchctl. Este script detecta a morte mono por ps ax | grep mono
Se o processo estiver inativo, ele executará os seguintes scripts para gerar uma nova janela do Terminal
osascript -e 'tell app "Terminal" to close every window'
osascript -e 'tell app "Terminal" to do script "mono --server myapp.exe'
o motivo pelo qual estou executando o aplicativo mono em uma janela de terminal no 'espaço do usuário' é porque o aplicativo interage com outros aplicativos em janelas e não pode ser gerada diretamente do arquivo appchecking.sh
No entanto, às vezes, o processo acima falha com o seguinte erro
$ osascript -e 'tell application "Terminal" to open'
31:35: execution error: An error of type -10810 has occurred. (-10810)
O que é estranho é durante este estado, se eu SSH na máquina afetada, parece Terminal não está funcionando. Um ps ax | grep Terminal
não produz nada. No entanto, se eu VNC para a estação de trabalho afetada, o processo do Terminal de repente se torna visível, e meu script não retorna mais esse erro
A máquina OSX está configurada para login automático como usuário padrão. E se eu reiniciar uma máquina nesse estado, ela voltará bem. Eu acho que o que é a fonte do meu erro -10810 (adivinhando de alguma forma eu estou sendo desconectado e meu appcheck.sh não está sendo executado como meu usuário mais?)