“레거시”가 아닌 launchctl 명령을 사용하여 plist를로드 및 언로드하는 방법은 무엇입니까?


14

에 plist 파일이 ~/Library/LaunchAgents있습니다.

나는 행복하게 사용 launchctl load -w하고 launchctl unload -w몇 년 동안 켜고 끌었 습니다. 그러나, 나는 지금 통지 loadunloadman 페이지의 "유산"섹션에 이관된다. 그들 중 하나를 불러 봅시다 com.example.service.plist.

나는이를 통해 속성 목록과 상호 작용을 시도 할 때, launchctl enable "gui/$(id -u)/com.example.service"그리고 launchctl disable "gui/$(id -u)/com.example.service"다른 launchd에 명령을 보인다 보고서 성공 - 예를 들어, launchctl print "gui/$(id -u)"완전히 쇼 나 장애인 플래그를 그 내가 설정 한 그 국가에 해당 - 서비스가 실제로 시작되지 않고 정지 또는 그들의 항구에서 듣고 들으십시오.

누락 된 단계가 있습니까? 현재 나는 고집 load하고 unload있지만 Apple이 결국 구식 / 나쁜 방식으로 문을 내리기 전에이 물건과 상호 작용하는 비 사용법을 배우고 싶습니다 ...


레거시는 변화가 시작됨을 의미합니다. 10.11 이하에서는 여전히 마음의 내용을로드 및 언로드 할 수 있습니다. 내 가정은 애플이 올해 WWDC에 문서를 제공하고 마이그레이션 일정을
잡을 것이라는 점이다

1
나는 아직 이것에 대한 답이되지 않을 수도 있습니다 생각하지만, 확실히 외모 와 같은 enabledisable대체하기위한 것입니다 loadunload. 나는 그들이 예상대로 작동하도록 할 수 없습니다.
Glyph

1
당신은 다음과 같은 시도 launchctl enablelaunchctl kickstart?

나는하지 않았지만 launchctl kickstart문제의 직업에 대한 활성화를 발행 해서는 안 됩니까? 주문형 정품 인증을 원하기 때문에 특별히 시작되었습니다.
글리프

답변:


6

트위터 사용자에게 @launchderp 에게 물었 습니다 :

@launchderp launchctl load최소한 10.12까지 또는 다음에 올 때까지 사용하기에 안전합니까?

cf "레거시"가 아닌 launchctl 명령을 사용하여 plist를로드 및 언로드하는 방법

그리고 @launchderp가 대답했습니다.

@tjluoma 그래, 그들은 여전히 ​​안전하다. 그것들을 깨기에는 너무 많은 의존성이 있습니다.

이것이 공식적인 Apple 진술처럼 보이지 않을 수도 있지만, 저는이 사람이 launchdApple 을 위해 적극적으로 노력하고있는 사람이라고 믿고 있습니다 . YMMV.

이야기의 도덕 :로드 / 언로드가 당신을 위해 작동한다면, 계속 사용하십시오 :-)


2
꽤에 대한 문제를 해결하지 않기 때문에 "가능"으로 표시하지 enabledisable나는 여전히 정보를 감사 있기 때문에 upvoted :).
Glyph

1

TJ Luoma가 언급 한 기사 는 매우 유용합니다. 데몬을 시작하는 단계 :

  1. /Library/LaunchDaemons/평소대로 plist 파일을 저장하십시오 . 파일이 com.example.mysrv.plistplist이고 Label이 plist 라고 가정 해 봅시다 com.example.mysrv.
  2. sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.mysrv.plist. 경로는 상대적 (to $PWD) 또는 절대적 일 수 있습니다.
  3. 로 서비스를 확인하십시오 sudo launchctl print system/com.example.mysrv. "실행 중"이라고 표시되어야합니다.

발사 에이전트는 비슷해야합니다. 주의 사항 : 서비스를 언로드하지 않고 중지하는 방법을 모르겠습니다 bootout.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.