Я часто хочу, чтобы мой компьютер автоматически что-то добавил в мой список дел в будущем. В некоторых случаях я хочу добавлять одно и то же через равные промежутки времени. В этих случаях я использую launchd OS X через Lingon. Но у меня нет отличного решения для команд, которые я хочу запустить только один раз. Судя по Lingon X, launchd не является ответом. Когда я добавляю новое событие, параметры Lingon для "Когда"

  1. При запуске и при сохранении
  2. Всегда
  3. Монтирование тома
  4. Время

и если я выберу "Время", я получу следующие варианты: "Каждый час", "Каждый день" и т. д.

Я считаю, что в принципе команда at является ответом, НО:

  1. at запускается в командной строке; Я бы предпочел графический интерфейс. Возможно, кто-то написал интерфейс? Я не могу найти пробежку, но слово "at" - это обычное слово, и его трудно найти в Google.
  2. atrun по умолчанию отключен в Mac OS, по- видимому, потому что он неэффективен по энергопотреблению: «at - это cronjob, который по умолчанию планируется запускать каждую минуту. Он просматривает свой каталог на наличие заданий, срок действия которых истек, и запускает их. При ударе по 1 диску в минуту накопитель не будет много спать, что вызывает проблемы, особенно на ноутбуках ». Для моего приложения задание, выполняемое с опозданием на 30 минут, не является проблемой, так что, возможно, будет работать atrun с более длинным циклом.

Каков предпочтительный способ запланировать запуск команд только один раз в будущем?

2 ответа2

0

Вы можете запланировать выполнение сценариев / команд из iCal, создав событие и установив будильник "Запуск сценария".

По желанию, если вы хотите регулярно выполнять некоторые команды - вам действительно стоит изучить использование Cronjobs. Cronjobs позволяет вам указать команду, которая будет выполняться в определенное время.

Существуют различные графические интерфейсы для управления cronjob на Mac:

0

Скрипт-таймер кажется одним из вариантов. Автор пишет:«Да, вы можете запланировать выполнение задания только один раз в Script Timer. Это рассматривается как особый случай для повторяющейся работы - вы просто устанавливаете повторяющийся временной интервал на ноль ».

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