39

Я собираюсь запланировать работу с помощью команды. Здесь я попробовал следующую команду:

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

Я видел, что работа запланирована с помощью -l. Однако я не увидел никакого эха.

Я думаю, что мне может понадобиться добавить пользователя в файл at.allow. Я не могу найти at.allow в моем Mac (Snow Leopard). Не уверен, что мне нужно сделать, чтобы проверить это в команде?

5 ответов5

38

Чтобы включить необходимый демон atrun , как говорит man atrun , выполните:

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

как root (например, через sudo). После того, как вы это сделаете, /var/at/ станет ключевым каталогом (хотя самый простой способ - использовать at качестве root - например, еще раз с помощью sudo ! -).

12

В 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
    
5

Я попробовал это на OS X Lion, и это, похоже, работает.

Сначала включите atrun deamon:

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

Затем добавьте [ваше имя пользователя] в /var/at/at.allow .

После выполнения вы получите вывод в /var/mail/[your username]

Я считаю, что поставленные в очередь элементы с batch занимают несколько минут.

2

Другие ответили на о отключенных на Mac OS X, и я не знаю об этом, но есть еще одна проблема: где вы ожидаете , что ваше эхо команды напечатать свое сообщение? В других системах Unix, которые я использовал, он не печатается в том же окне оболочки, в котором вы дали команду at . Помните, что при выполнении задания at вы можете даже не войти в систему.

Попробуйте вместо этого записать что-нибудь в файл и посмотрите, появится ли этот файл в нужное время.

0

Моя установка OS X (10.4) говорит в man at:

NOTE
     at, batch, atq, atrm are all disabled by default on Mac OS X.

Вы включили atrun согласно инструкциям там?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .