Cowork AI는 AI를 활용하여 다양한 제품을 개발하고 있습니다. 많은 관심 부탁드립니다! 둘러보기

Mac에서 Caffeinate 명령어로 잠자기 시에도 프로그램이 실행되도록 하기

Mac에서 Caffeinate 명령어로 잠자기 시에도 프로그램이 실행되도록 하는 방법을 알아봅니다.

개발을 하다보면 로컬에서 굉장히 긴 시간을 소요하는 작업을 돌려야 할 때가 있다.

예를 들어, 대량의 데이터를 처리하는 작업이나, 머신러닝 모델을 학습시킨다거나, 하는 등이다.

일반적으로는 배터리 옵션에 들어가서 “디스플레이가 꺼져 있을 때 전원 어댑터 사용 시 컴퓨터를 자동으로 잠자지 않게 하기” 옵션을 체크하면 된다.

image

그런데, 전원 어댑터를 사용하지 못하는 상황이거나, 잠자기를 해두고 싶은 경우에는 돌아가던 스크립트가 중단되는 경우가 생길 수 있다.

이를 방지해주는 방법으로는 caffeinate 명령어를 사용할 수 있다.

caffeinate 명령어는 MacOS에서 제공하는 명령어로, 시스템이 잠자기 모드로 전환되지 않도록 하는 기능을 제공한다.

이런 명령어를 만들게 아니라, 옵션으로 제공하면 되는게 아닐까 싶긴하다

사용법

caffeinate 명령어의 기본적인 포맷은 다음과 같다.

caffeinate [options] [command]

command는 실행할 명령어를 지정하는 부분으로, 이 부분을 생략하면 caffeinate 명령어가 실행된 상태로 시스템이 잠자기 모드로 전환되지 않도록 한다.

만약 python 스크립트를 실행하고 싶다면 다음과 같이 명령어를 작성하면 된다.

caffeinate python script.py

이렇게 하면, script.py가 실행되는 동안 시스템이 잠자기 모드로 전환되지 않도록 한다.

옵션

caffeinate 명령어는 여러 가지 옵션을 제공한다.

  • -d: 명령어 실행 중에는 디스플레이가 꺼지지 않도록 한다.
  • -i: 명령어 실행 중에는 시스템이 절전 모드로 전환되지 않도록 한다.
  • -m: 명령어 실행 중에는 시스템이 하드 디스크를 절전 모드로 전환되지 않도록 한다.
  • -s: 전원 어댑터 사용 시에 시스템이 잠자기 모드로 전환되지 않도록 한다.
  • -t <timeout>: 지정한 시간(초) 동안 시스템이 잠자기 모드로 전환되지 않도록 한다. 이 옵션을 사용하면, 지정한 시간이 지나면 caffeinate는 종료된다.
  • -u: 사용자가 활성 상태임을 시스템에 알리는 역할을 한다. 마치 사용자가 키보드나 마우스를 사용하고 있는 것처럼 시스템에 알린다.
    • 일반적으로 -t 옵션과 함께 사용되며, -t를 기입하지 않은 경우 디폴트 5초로 timeout이 설정된다.
  • -w <pid> : 지정한 프로세스 ID(PID)가 종료될 때까지 시스템이 잠자기 모드로 전환되지 않도록 한다.
Cookies
essential