명령 줄에서 Mac 잠자기를 방지하는 방법?


12

원격 컴퓨터에 오래 실행되는 스크립트가 있습니다.

ssh 세션을 종료하고 싶지 않으며 쉘 스크립트에 입력해야합니다.

명령 줄에서 Mac이 잠자기 상태가되는 것을 어떻게 방지 할 수 있습니까?


3
어떤 OS X 버전입니까?
nohillside

답변:


19

Mountain Lion에서는 caffeinate명령을 사용할 수 있습니다 .

caffeinate -u -t 1000

유휴 절전을 1000 초 동안 방지합니다.


1
뚜껑을 닫을 때 잠을 자지 못하게하는 매버릭스의 '카페인'cmdline 조합 (위의 하나 포함)이나 Caffeine.app로는 아직 성공하지 못했습니다. InsomniaX.app는 지금까지 뚜껑 수면을 막았지만 작동하는 cmdline 버전을 아직 찾지 못했습니다 (아직 goo.gl/CU06jb가 작동 하지 않았 으므로 사용되지 않을 수 있음). 그럼에도 불구하고, 뚜껑을 닫을 때 프로그래밍 가능한 시간을 제한하여 수면을 거부하는 동안에도 디스플레이 암호 요구 사항을 가능하게하는 것을 원합니다 .InsomniaX.app도 그렇게하지 않습니다.
Johnny Utahh

1
비슷한 문제. 나는 요세미티에 있으며, 터미널에서 카페인을 사용하더라도 잠시 후 화면이 어두워지고 다시 로그인해야합니다. 이는 카페인이 Mac을 깨우지 않는 것을 의미합니다. 이것이 나의 목표입니다. Wi-Fi 연결이 지속될 수 있습니다.
dmonopoly

12

이 문제에 대한 해결책은되어 있지 클라이언트 (맥) 깨어 유지. 이와 같은 접근법을 사용하는 것은 신뢰할 수 없습니다. 네트워크 연결이 끊어지면 어떻게됩니까? Mac이 깨어 있어도 스크립트가 중지됩니다.

사용하다 nohup

장기 실행 스크립트가 호출 eternity.sh되면 다음을 시도하십시오.

nohup /path/to/eternity.sh > /path/to/output.out &

이제 연결을 닫을 수 있으며 스크립트가 계속 실행 됩니다. &배경이 과정 당신은 열려있는 연결을 유지하고 명령을 입력 할 수 있습니다. 다음을 통해 스크립트의 출력을 봅니다.

tail -f /path/to/output.out

스크립트가 경로 output.out에 있고 현재 디렉토리에 스크립트 출력을 쓰려면 예제의 경로는 선택 사항 입니다.

한 번에 며칠 동안 실행되는 스크립트를 관리합니다. 이와 같은 스크립트는 터미널에서 분리해야합니다. 다행히, nohup이를 달성하기 기억하기 쉬운 명령 호출을 제공합니다 - 생각하지 아니 끊기를 .


5
도 참조하십시오 man screen.

@mankoff-이미 화면을 사용하고 있습니다. 얇게 썬 품종의 발견 이후 최고의 명령입니다. ;) 문제의 주요 요점은 Mac이 잠들 때 "ssh to @ somewhere"의 필요성을 없애는 것입니다. 간단히 ssh 세션을 종료하고 싶지 않습니다. 원격 쪽의 명령이 이미 화면으로 "보호되어 있습니다" . ;)
kobame

@ephsmith-문제는 : ssh 세션 종료를 제거하는 방법 ... ofc nohup은 원격 명령이 대화 형 명령이 아닌 경우에 좋습니다. 대화식 명령의 경우 화면이 훨씬 더 나은 솔루션입니다. 어쨌든 답장을 보내 주셔서 감사합니다.
kobame

1
@kobame, 아마도 질문의 요점 과이 추가 정보가 원래 질문에 포함되었을 것입니다. 질문의 첫 번째 줄은 오래 실행되는 스크립트를 나타냅니다. 나는 그것이 대화 형이 아니라고 가정하여 nohup에 대한 참조를 이끌어 냈습니다.
ephsmith

@ kobame,이 답변 중 문제가 해결 되었습니까?
ephsmith

8

다른 옵션은 pmset 입니다. 실행중인 pmset noidle 동안 절전 모드를 해제 하려면 명령 을 사용하십시오 pmset. 불행히도, pmset실행중인 별도의 터미널 창이 필요 합니다. 그러나 다른 옵션 caffeinate은 특정 시간 만 설정할 수 있습니다 . 따라서 두 번째 SSH 세션을 열지, 시간 제한을 처리할지 선택해야합니다.

편집 :에 따르면 binarybob의 코멘트 : 당신이 실제로이 같은 배경에서 실행할 수 있습니다 pmset noidle &다시 얻으려면 pmset유형 fg.


또한 pmset백그라운드에서 실행 pmset noidle &하여 현재 명령 프롬프트를 계속 사용할 수 있습니다 . 돌아가 fg려면 입력하십시오. pmsetCtrl + C 할 수있는 지점
binarybob

@binarybob 아! 나는 몰랐다. 팁 고마워!
daviesgeek

트윗 담아 가기 팁 감사합니다.
kobame September

1
이것은 IPython 노트북에서도 작동합니다 .-- IPython 노트북을 !pmset noidle제공하는 데스크탑과 원격으로 연결된 노트북이있을 때 매우 좋습니다.
Jason S

1
이것은 나를 위해 작동하지 않습니다. 성공적으로 실행되고 "유휴 절전 방지 (^ C to exit) ..."메시지가 표시되지만 여전히 절전 모드로 전환됩니다.
Iulian Onofrei

6
caffeinate -i -s /bin/ssh ...

설명:

-i -유휴 수면을 방지하십시오.

-s-시스템 수면을 방지하십시오 (뚜껑을 닫아도 완전히). 참고 : AC 전원이 켜져있는 동안에 만 작동합니다.

/bin/ssh-실행하려는 명령을 계속 작성하십시오. 사용 ssh하는 대신 직접 /bin/ssh또한 작동합니다.

결과 : ssh명령이 실행 되는 동안 시스템이 절전 모드로 전환되지 않습니다 .



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.