MAC OSX objective C 애플리케이션이 쉘 스크립트를 실행하기 위해 관리자 권한으로 NSAppleScript를 사용하는 first.app을 말합니다.이 스크립트는 다른 Objective C 응용 프로그램이 second.app라고 말합니다.커맨드 라인에서 MAC OSX objective C opplication을 시작하는 다른 방법들
셸 스크립트에서 열기 명령 예 : "open second.app"를 사용하면 올바르게 작동합니다.
그러나 쉘 스크립트에서 바이너리 Ex : "/second.app/Contents/MacOS/second"를 호출하여 second.app를 실행하면 second.app이 될 때까지 컨트롤이 first.app로 돌아 오지 않습니다 닫는다. 두 번째 앱을 닫으면 first.app가 다시 시작됩니다.
open 명령에서 응용 프로그램을 시작하고 언급 한대로 응용 프로그램 바이너리를 직접 호출하는 차이점은 무엇입니까?
open Second.app
를 호출
는
감사합니다. 정말로 도움이됩니다. 바이너리를 직접 실행하면서 backgroung 명령 "/path/to/Second.app/Contents/MacOS/Second 2> & 1 &"에서 실행할 수 있습니다. 이 경우 스크립트가 종료됩니다. 그러나 여전히 first.app는 재개하지 않았습니다. 그 이유를 알고 있습니까? NSAppleScript는 백그라운드에서 실행중인 애플리케이션을 기다리고 있습니까? – user12345
@ user1336309 : 죄송합니다. 잘 모르겠습니다. 'nohup /path/to/Second.app/Contents/MacOS/Second>/dev/null 2> & 1'을 시도해보십시오. 아마 도움이 될 것입니다. –
nohup이 표준 출력을 해당 파일로 재 지정합니다. 도움이되지 않았어. 다시 고마워. – user12345