2011-10-15 5 views
0

Mac에서 launchd를 사용하여 설정 한 데몬 프로세스가 있습니다. 데몬이 루트로 실행 중입니다."launchctl start"가 시작 데몬 프로세스에서 작동하지 않습니다.

system("launchctl start com.project.myproj"); 

을하지만 터미널로 이동하여 동일한 명령을 실행하는 경우 - - 다음 줄 내 UI 응용 프로그램을 실행하지 않습니다> com.project.myproj을 시작 launchctl. 그것은 내 응용 프로그램을 시작합니다. 내 질문에 내가 뭔가 잘못하고있는 중이거나 제대로 작동하지 않는 시스템입니까?

답변

0

시스템에서 시작한 시작 데몬은 Aqua에 액세스 할 수 없기 때문에 데몬 프로세스가 데스크톱 환경에 액세스 할 수 없습니다.

Apple의 Technical Note TN2083: Daemons and Agents은이 중 일부를 설명합니다. (this section on launchd agents을 참조하십시오.)

누군가가 similar question about accessing the Aqua environment from an SSH connection을 물었습니다.

  1. 는 모든 사용자의 아쿠아 세션에서 실행되는 실행 에이전트를 만들기 : 나는 추측하고있어

    당신은에 다시 건축가 응용 프로그램 조금 필요합니다.

  2. 에이전트를 루트 데몬에 연결 시키거나 루트 데몬이 시작 에이전트의 인스턴스를 찾도록하십시오.
  3. 루트 데몬이 신호를 보내면 시작 에이전트가 응용 프로그램의 그래픽 부분을 시작하도록하십시오.