로드와 시작, 언로드 및 중지 간의 Launchctl 차이점


22

launchctl 매뉴얼 페이지를 읽고 기능에 대해 몇 가지 질문이 있습니다.

  • 로드와 시작, 언로드 및 중지의 차이점은 무엇입니까?
  • 데몬의 작업 레이블은 어디에서 찾을 수 있습니까? plist 파일에 있습니까?

답변:


14

TL; DR

  • 일반적으로 launchctl load -w및 을 사용하려고합니다 launchctl unload -w.
  • start그리고 stop일반적으로 테스트하거나 작업을 디버깅을 위해 예약되어 있습니다.

세부

  • launchctl start <label>: 작업을 시작합니다. 일반적으로 특정 작업을 테스트하거나 디버깅하기 위해 예약되어 있습니다.
  • launchctl stop <label>: 작업을 중지합니다. 시작과 반대로, 작업이 계속 실행되도록 구성된 경우 작업이 즉시 다시 시작될 수 있습니다.

  • launchctl remove <label>:에서 작업을 제거 launchd하지만 비동기 적으로 제거합니다 . 리턴하기 전에 작업이 실제로 중지 될 때까지 기다리지 않으므로이 작업에 대한 오류 처리가 없습니다.

  • launchctl load <path>: 작업이 "비활성화"되지 않은 한 작업을로드하고 시작합니다.
  • launchctl unload <path>: 작업을 중지하고 언로드합니다. 다음 로그인 / 재부팅시 작업이 계속 다시 시작됩니다.

  • launchctl load -w <path>: 작업을 "비활성화되지 않음"으로 표시하면서 작업을로드하고 시작합니다 . 다음 로그인 / 재부팅시 작업이 다시 시작됩니다.
  • launchctl unload -w <path>: 작업을 중지 및 언로드 하고 비활성화 합니다. 다음 번 로그인 / 재시작시 작업이 다시 시작 되지 않습니다 .

데몬의 작업 레이블은 어디에서 찾을 수 있습니까? plist 파일에 있습니까?

예, plist 파일에 있으며 일반적으로 plist 파일의 파일 이름과 일치합니다.


덕분에, 나에게 몇 시간 👏🏻 저장
— 다나 나무꾼을

7

로드 및 언로드는 시작되어 구성 파일을로드하도록 지시합니다. 프로그램 실행 여부와 조건은 plist 파일에 의해 결정됩니다. 현재 실행 중이 아닌 작업은로 시작 launchctl start ...하고로 중지 할 수 있습니다 launchctl stop ....

작업의 레이블은 레이블 키로 정의되며, plist의 이름은 작업 레이블 다음에 plist 확장자가되어야합니다.


6
이 요소를 어떻게 제거합니까? 구체적으로 언로드와 어떻게 다릅니 까?
— chrisortman

@chrisortman remove는 작업이 먼저 중지 될 때까지 기다리지 않는다는 점을 제외하면 언로드와 같습니다. 오류가 발생했는지 확인하지 않고 즉시 반환합니다.
— Ryan McGeary
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.