에 plist 파일이 ~/Library/LaunchAgents
있습니다.
나는 행복하게 사용 launchctl load -w
하고 launchctl unload -w
몇 년 동안 켜고 끌었 습니다. 그러나, 나는 지금 통지 load
및 unload
man 페이지의 “유산”섹션에 이관된다. 그들 중 하나를 불러 봅시다 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이 결국 구식 / 나쁜 방식으로 문을 내리기 전에이 물건과 상호 작용하는 비 사용법을 배우고 싶습니다 …
답변
트위터 사용자에게 @launchderp 에게 물었 습니다 :
@launchderp
launchctl load
최소한 10.12까지 또는 다음에 올 때까지 사용하기에 안전합니까?
@tjluoma 그래, 그들은 여전히 안전하다. 그것들을 깨기에는 너무 많은 의존성이 있습니다.
이것이 공식적인 Apple 진술처럼 보이지 않을 수도 있지만, 저는이 사람이 launchd
Apple 을 위해 적극적으로 노력하고있는 사람이라고 믿고 있습니다 . YMMV.
이야기의 도덕 :로드 / 언로드가 당신을 위해 작동한다면, 계속 사용하십시오 🙂
답변
TJ Luoma가 언급 한 기사 는 매우 유용합니다. 데몬을 시작하는 단계 :
/Library/LaunchDaemons/
평소대로 plist 파일을 저장하십시오 . 파일이com.example.mysrv.plist
plist이고 Label이 plist 라고 가정 해 봅시다com.example.mysrv
.sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.mysrv.plist
. 경로는 상대적 (to$PWD
) 또는 절대적 일 수 있습니다.- 로 서비스를 확인하십시오
sudo launchctl print system/com.example.mysrv
. “실행 중”이라고 표시되어야합니다.
발사 에이전트는 비슷해야합니다. 주의 사항 : 서비스를 언로드하지 않고 중지하는 방법을 모르겠습니다 bootout
.