로드와 시작, 언로드 및 중지 간의 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.