Как создать службу Windows для Mac OS X? - PullRequest
7 голосов
/ 19 ноября 2011

В Windows можно создать приложение, которое можно установить в качестве службы. Этот тип приложения называется службой Windows. Что будет эквивалентно сервисам в Mac OS X? Как они реализованы и с чего начать узнавать об этом?

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

Ответы [ 2 ]

10 голосов
/ 19 ноября 2011

Вам нужно подружиться с launchd.Вам необходимо создать launchd файлов конфигурации, которые размещены в одном из пяти мест:

  • ~/Library/LaunchAgents: пользовательские агенты, предоставленные пользователем.

  • /Library/LaunchAgents: пользовательские агенты, предоставленные администратором.

  • /Library/LaunchDaemons: общесистемные демоны, предоставленные администратором.

  • /System/Library/LaunchAgents: пользовательские агенты, предоставляемые Mac OS X.

  • /System/Library/LaunchDaemons: общесистемные демоны, предоставляемые Mac OS X.

A daemon - это общесистемная служба, для которой существует один экземпляр для всех клиентов. агент - это служба, которая работает для каждого пользователя.

Файлы конфигурации представлены в виде свойства list.

Синтаксис прост, но легко ошибиться.Статья Википедии содержит краткое изложение опций, если вам не нравится справочная страница 1053 *.

По сути, вы устанавливаете настоящую командную строкуинструмента (вашего сервиса) где-нибудь, а затем создайте список конфигурации launchd и поместите его в одно из указанных мест.Вы можете настроить plist таким образом, чтобы launchd запускал вашу службу при запуске или периодически, или в ответ на различные действия (например, изменение содержимого папки).

Есть хорошая углубленная статья здесь .

4 голосов
/ 19 ноября 2011

Вы должны взглянуть на launchd , вы можете сделать с ним много изящных вещей. Например, steam сообщил launchd, что всякий раз, когда steam удаляется, запускайте вспомогательный инструмент steam_delete. Этот вспомогательный инструмент поможет вам полностью удалить steam из вашей системы.

Другие включают механизм автоматического обновления Google Chrome на OS X.

Ссылка, чтобы помочь вам начать: Devdaily-запущенные примеры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...