2012-05-08 5 views
11

저는 Mac OS X의 새로운 세계입니다.하지만 Windows dev에 대한 기술을 가지고 있습니다.Objective-C를 사용하는 Mac OS X 데몬 - launchd

웹 서비스에서 파일을 업로드/다운로드하는 데몬 (Windows 서비스 임)을 개발해야합니다.

내 질문은 :은 (/ 다운로드 업로드)과 OS가 launchd에를 사용하여 시작할 때 그것을 실행하는 데몬 될 것 오브젝티브 C로 작성된 응용 프로그램을 만들 수 있습니다? 또는 데몬을 만드는 또 다른 방법이 있습니까?

이러한 서비스가 LaunchDaemon (시스템 전체) 및 LaunchAgent (사용자 별)라고 OS의 X에 당신

답변

2

내가 제대로 이해 한 경우 나도 몰라하지만 당신은 그것을 할 수있는 것 같아요. 여기에 코드의 흥미로운 부분이 데몬은 오브젝티브 C Apple Developer 에서 작동 방법을 이해하기위한 다음 링크는 좋은 시작이 될 수 있습니다. It is about GPS but it might be usefull. 또한이 github 폴더를보십시오. It is a controller for start/stop daemons

+0

감사합니다. 그게 내가 찾고있는 것입니다. – avmauricio

4

감사드립니다. 시스템을 시작할시기, 실행할 실행 파일, stdin, stdout 및 stderr로 수행 할 작업, 전달할 인수 등을 알려주는 구성을 만듭니다. 이 매뉴얼 페이지에서보세요 :

launchd(8)  # the service controlling other services 
launchctl(1)  # the command to control services 
launchd.plist(5) # the configuration format for services 

데몬은 루비, 파이썬에서 그래서 오브젝티브 C는 맥 플랫폼의 일반적인 선택은 OS X에서 실행되는 모든 언어로 작성된, 아무것도하지만, 다른 할 수있다, AppleScript를 통해 Perl을 사용하여 C 또는 C++로 변환 할 수 있습니다.

아니요, Mac에서는이 작업을 수행 할 수있는 다른 방법이 없습니다. init.d -style 스크립트는 Mac에서 작동하지 않으며 [Darwin에서는 UNIX 계층입니다.] 또는 더 정확하게는이를 실행하는 인프라가 없습니다.

자세한 내용은 Daemons and Services Programming Guide을 참조하십시오.

+0

강조 : *** *** 모든 언어로 작성할 수 있습니다. InputManager 해킹 때문에 LaunchDaemon 또는 시스템 레벨 LaunchAgent에 Obj-C를 사용하면 안됩니다! – Richard