OSX: Борьба с ошибкой сегментации для приложений, начавших использовать «open»

OSX: Борьба с ошибкой сегментации для приложений, начавших использовать «open»

Я запускаю приложение из скрипта, используя:

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

Когда приложение падает (в частности, это ошибки сегмента), окно остается открытым навсегда и приложение не закрывается. Однако, когда я запускаю приложение старым добрым способом

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

он просто завершает работу и возвращает скрипту ненулевой код ошибки, что мне и нужно. Как мне добиться такого поведения (выход при ошибке сегмента и возврат кода ошибки) с помощью синтаксиса "open" выше? Мотивация заключается в том, чтобы получить доступ к специфичным для OSX опциям, таким как -F, -g, -W и т. д.

решение1

Я бы не стал использовать опцию -W.страница руководства open:

-W Заставляет open ждать, пока приложения, которые он открывает (или которые уже открыты), не закроются. Используйте с флагом -n, чтобы разрешить open функционировать как соответствующее приложение для переменной среды $EDITOR.

Это может быть вашей проблемой.

Связанный контент