OSX: Lidando com um segfault para aplicativos iniciados usando “open”

OSX: Lidando com um segfault para aplicativos iniciados usando “open”

Estou iniciando um aplicativo a partir de um script usando:

open /path/to/foo.app -F -g -W --args -foo bar

Quando o aplicativo trava (em particular, ele detecta falhas), a janela fica aberta para sempre e o aplicativo não sai. No entanto, quando eu inicio o aplicativo à moda antiga

/path/to/foo.app/Contents/MacOSX/foo -foo bar

ele simplesmente sai e retorna um código de erro diferente de zero para o script, que é o que eu quero. Como posso obter esse comportamento (sair em caso de falha seg e retornar um código de erro) usando a sintaxe "aberta" acima? A motivação é obter acesso a opções específicas do OSX, como -F, -g, -W etc.

Responder1

Eu evitaria usar a opção -W. Deabrir a página de manual:

-W Faz com que open espere até que os aplicativos que ele abre (ou que já estavam abertos) sejam encerrados. Use com o sinalizador -n para permitir que open funcione como um aplicativo apropriado para a variável de ambiente $EDITOR.

Este pode ser o seu problema.

informação relacionada