Mac OS X : 명령이 작동하지 않을 때


42

at 명령을 사용하여 작업을 예약하려고합니다. 여기에 다음 명령을 시도했습니다.

$ at now + 1 minute
echo 'Test at command'
<EOD>

at -l을 사용하여 작업을 예약하는 것을 보았습니다. 그러나 나는 반향이 보이지 않았다.

at.allow 파일에 사용자를 추가해야 할 수도 있습니다. Mac (Snow Leopard)에서 at.allow를 찾을 수 없습니다. 명령에서 이것을 테스트하기 위해 무엇을해야할지 모르겠습니까?


나는 사람에게서 정보를 읽으려고 노력했다. "_PERM_PATH / at.allow 파일이 존재하면 여기에 언급 된 사용자 이름 만 사용할 수 있습니다 ... ... at.allow가 존재하지 않으면 _PERM_PATH / at.deny가 검사됩니다 .." _PERM_PATH가 무엇인지 잘 모르겠습니다.

Apple OSX Leopard의 경우 "at"에 대한 PERM_PATH는 / usr / lib / cron입니다.
Richard Hoskins

Mac OS X Lion의 경우/var/at
Stefan Schmidt

답변:


40

필요한 atrun데몬 을 활성화하려면 man atrun다음을 실행하십시오.

launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

루트로 (예 :을 통해 sudo) 일단 그렇게 /var/at/하면 키 디렉토리가 될 것입니다 (가장 간단한 방법은 at루트 로 사용 하는 것입니다-예를 들어 다시 sudo!-로).


atrun 데몬을 활성화하려면 루트 여야하지만 "at"명령을 실행하기 위해 루트 일 필요는 없습니다. (해당 명령이 루트를 필요로하지 않는 한.)
리처드 호스킨스

1
이 활성화 또는 atrun은 재부팅 후에도 지속됩니까?
Eric O Lebigot 2018 년

매뉴얼 페이지에 따르면, 나는 그것을 시도하지 않았습니다.
Stefan Schmidt

1
/var/at/at.deny비어있는 경우 작업시 대기열에 루트가 될 필요가 없습니다. 그렇지 않으면에 사용자 이름을 추가 할 수 있습니다 /var/at/at.allow.
Stefan Schmidt

맨 페이지를 먼저 읽어야합니다 ... 감사합니다!
polym

13

Snow Leopard에서는 다음을 수행해야합니다.

  1. 를 편집하고 /System/Library/LaunchDaemons/com.apple.atrun.plist비활성화 된 자식 노드를 true-> 에서 변경하십시오 false.

  2. 다음을 사용하여 전류 /System/Library/LaunchDaemons/com.apple.atrun.plist를 언로드하십시오 .

    sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    

    그런 다음 편집 된 버전을로드하십시오.

    sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    
  3. 그것이 작동하는지 테스트하십시오 :

    echo blah | at now+1
    
  4. 다른 이유로 에코가 실패하는 경우 최소한 다음과 같이 큐가 지워지는 것을 볼 수 있어야합니다.

    atq
    

1
이것은 OSX 10.10 Yosemite에서 나를 위해 일한 유일한 것입니다.
콜린 딘

5

OS X Lion 에서이 작업을 시도했지만 작동하는 것 같습니다.

먼저 atrun데몬을 활성화하십시오 .

launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist

그런 다음 [사용자 이름]을에 추가하십시오 /var/at/at.allow.

실행되면 다음에서 출력을받습니다. /var/mail/[your username]

대기열에있는 항목 batch이 실제로 실행 되려면 몇 분이 걸립니다.


2

다른 사람에 대한 대답 한 에서 맥 OS X에서 비활성화되고, 나는 그것에 대해 잘 모르지만, 또 다른 문제가있다 : 당신이 당신의 기대 에코 명령은 메시지를 인쇄하려면? 내가 사용한 다른 유닉스 시스템 에서는 at 명령을 했던 동일한 쉘 창에 인쇄 되지 않습니다 . at 작업이 실행될 때 더 이상 로그인하지 않았 음을 기억하십시오 .

대신 파일에 무언가를 쓰려고 시도하고 해당 파일이 적시에 나타나는지 확인하십시오.


매뉴얼 페이지에 출력이 우편으로 보내질 것이라고 명시되어 있습니다.
Stefan Schmidt

@Stefan : 그렇습니다. 그리고 그것은 같은 컴퓨터에서 메일을 로컬에서 처리했을 때 1980 년대에 잘 작동했습니다. 그러나 나의 경험 (Mac OS X 이외의 다른 유형의 유닉스에서)은 요즘에는 메일을받을 수 없습니다.
Thomas Padron-McCarthy

0

OS X (10.4)의 설치는 다음과 man at같습니다.

노트
     at, batch, atq, atrm은 Mac OS X에서 기본적으로 비활성화되어 있습니다.

atrun지침에 따라 활성화 했습니까 ?


Mac에서 어디에서 실행되는지 확인하려고했습니다. 웹에서 다른 옵션은 at.allow에 사용자를 추가하는 것입니다. 이 파일 (at.allow)도 찾을 수 없었습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.