launchctl

launchctl 명령은 macOS에서 런치 서비스를 관리하는 데 사용되는 유틸리티입니다. 이 명령을 사용하여 백그라운드 프로세스, 데몬, 에이전트 등을 시작, 중지, 관리하고, 부팅 시 자동으로 실행되는 작업을 구성할 수 있습니다. launchctl는 시스템의 안정성과 성능을 유지하기 위해 중요한 역할을 합니다. macOS 맥 Ventura의 시작프로그램 등록 절차 알아보기

launchctl 명령의 주요 기능

launchctl 명령과 기능을 활용하여 macOS 시스템의 안정성과 성능을 향상시키고, 백그라운드 작업을 효과적으로 관리할 수 있습니다.

  • 작업 관리: launchctl를 사용하여 현재 실행 중인 작업을 나열하고, 시작하거나 중지할 수 있습니다. 이를 통해 시스템 리소스를 효율적으로 관리할 수 있습니다.
  • 런치 에이전트 및 런치 데몬 등록: 새로운 런치 에이전트 및 런치 데몬을 등록하고, 이러한 작업들이 시스템 부팅 시 자동으로 시작되도록 설정할 수 있습니다.
  • 로깅 및 오류 확인: launchctl를 사용하여 런치 서비스가 생성하는 로그를 확인하고, 작업이 실패한 경우 오류 메시지를 분석하여 문제를 해결할 수 있습니다.
  • 작업 스케줄링: 특정 시간에 작업을 실행하도록 스케줄링하거나, 주기적인 작업을 예약할 수 있습니다. 이는 자동 업데이트, 데이터 동기화 등에 유용합니다.
Hammerspoon에서 Spoons 사용하는 방법

launchctl 기본 명령

launchctl 명령은 시스템 관리자와 개발자에게 중요한 도구이며, 정확한 사용법을 이해하는 것이 필요합니다. 다음 명령어들은 launchctl를 사용하여 런치 서비스를 관리하는 데 필요한 핵심 도구입니다. 이를 통해 서비스를 시작하거나 중지하고, 새로운 런치 데몬을 등록하여 macOS 시스템의 동작을 제어할 수 있습니다.

list

launchctl list

이 명령은 현재 실행 중인 모든 런치 서비스를 나열하는 역할을 합니다. launchctl는 macOS에서 런치 서비스(또는 에이전트)를 관리하는 데 사용되며, list 서브커맨드는 현재 활성화된 서비스들을 사용자에게 보여주며 실행하면 다음과 같은 출력이 표시됩니다.

PID   Status Label
-     0      com.apple.AppleFileServer
-     0      com.apple.RemoteDesktop.agent
-     0      com.apple.ReportCrash.Self
301    -      homebrew.mxcl.redis
-     0      org.openbsd.ssh-agent
-     0      org.x.privacyidea.server

각 열은 다음을 나타냅니다.

  • PID: 런치 서비스의 프로세스 IDPID입니다. 서비스가 현재 실행 중이지 않으면 -로 표시됩니다.
  • Status: 서비스의 실행 상태입니다. 실행 중인 경우 0으로 표시됩니다.
  • Label: 서비스의 식별자Label입니다. 이것은 서비스를 고유하게 식별하는 데 사용됩니다.
1clipboard로 클립보드 매니저 히스토리 관리 동기화하기

start

launchctl start com.example.myapp

이 명령은 지정된 런치 서비스를 시작하는 데 사용됩니다. start 서브커맨드는 특정 런치 서비스를 수동으로 시작할 때 유용합니다. 예를 들어, com.example.myapp과 같은 런치 서비스를 시작하려면 이 명령을 사용합니다. 이렇게 하면 해당 서비스가 실행 중이 되며, 설정에 따라 서비스가 필요한 작업을 수행할 것입니다.

stop

launchctl stop com.example.myapp

이 명령은 지정된 런치 서비스를 중지하는 데 사용됩니다. stop 서브커맨드는 특정 런치 서비스를 중지하려고 할 때 필요합니다. com.example.myapp과 같은 런치 서비스를 중지하면 해당 서비스가 더 이상 실행되지 않으며, 서비스가 수행하던 작업이 중단됩니다.

클립보드란

load

launchctl load -w /Library/LaunchDaemons/com.example.myapp.plist

이 명령은 새로운 런치 데몬을 등록하고, 부팅 시 자동으로 시작되도록 설정하는 데 사용됩니다.

  • -w 플래그를 사용하면 런치 데몬이 영구적으로 등록되며, 시스템이 부팅될 때 자동으로 실행됩니다.
  • com.example.myapp.plist와 같은 .plist 파일을 사용하여 새로운 런치 데몬을 정의하고, 이 명령을 통해 등록하면 해당 데몬이 시스템 부팅 시에 시작되며 백그라운드 작업을 수행할 수 있습니다.

기타 명령

이외에도 launchctl 명령어는 서브커맨드를 지원합니다. 이 명령어들은 주로 런치 서비스와 관련된 작업을 수행하며, 서비스의 시작, 중지, 등록, 제거 등을 다룹니다. 각각의 명령어와 서브커맨드는 launchctl를 사용하여 런치 서비스와 에이전트를 관리하고, 시스템 동작을 제어하는 데 다양한 옵션과 기능을 제공해 사용자가 필요에 따라 이러한 명령어와 서브커맨드를 활용할 수 있습니다.

  • launchctl unload: 런치 서비스 또는 데몬을 등록 해제합니다.
  • launchctl list: 현재 실행 중인 모든 런치 서비스를 나열합니다.
  • launchctl bootout: 특정 사용자의 런치 에이전트를 비활성화하거나 제거합니다.
  • launchctl limit: 런치 서비스가 사용할 수 있는 리소스 제한을 설정합니다.
  • launchctl diagnostics: 런치 서비스에 대한 진단 정보를 표시합니다.
맥에서 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기

관련 글

댓글로 남기기 어려운 내용은 Contact Form 에서 개별적으로 문의 할 수 있습니다. 해당 글과 연관 된 내용은 Copy를 이용해 현재 페이지의 주소를 복사 후 문의 폼에 입력시 보다 정확한 답을 얻을 수 있습니다.

Leave a Comment