Запустите .exe с демоном или более подходящими решениями, чтобы получить что-то похожее на службу Windows (Mac и Linux)? - PullRequest
0 голосов
/ 11 марта 2011

Мне было интересно, могу ли я запустить исполняемый файл с демонами в Mac и Linux, или у вас есть какие-то другие решения, чтобы сделать что-то похожее на службу Windows, которая является планировщиком? Я знаю, что могу использовать crontab, но мне было интересно, есть ли другой способ сделать это.

Thx

Ответы [ 2 ]

2 голосов
/ 12 марта 2011

В OS X предпочтительным способом выполнения подобных действий является запуск демонов. Вы создаете файл .plist с информацией о том, какую программу запускать, параметры для ее передачи и в каких условиях запускать ее (т. Е. В определенное время, когда сетевое соединение получено на определенный порт или просто всегда выполняется), и различные другие варианты. Lingon предоставляет удобный графический интерфейс для создания .plist или просто прочитайте Apple LAUNCHD docs и создайте его самостоятельно. Поместите .plist в / Library / LaunchDaemons и либо перезагрузите, либо активируйте его с помощью sudo launchctl load /Library/LaunchDaemons/whatever.plist.

Предупреждение об использовании launchd: большинство программ типа unix для unix «демонизируют» себя - они уходят в фоновый режим и, как правило, отсоединяются от программы, которая их запустила. Launchd не нравится это. Он хочет следить за своими дочерними элементами, чтобы он мог отслеживать их состояние, перезапускать их при необходимости и т. Д. Поэтому вам может потребоваться либо указать программе не выполнять демонизацию, либо добавить параметр в .plist, чтобы он не запускал волнуюсь, если программа выходит из программы.

1 голос
/ 11 марта 2011

Альтернативой Linux службам Windows NT являются демоны.Вы можете прочитать немного больше об этом здесь .

Вы также можете запускать исполняемые файлы скриптами, расположенными в /etc/init.d. Просто посмотрите на один из этих скриптов для справки.Если вы хотите выполнить задачу или запустить исполняемый файл в определенный момент времени, используйте crontab.Это сделано для этой цели, и я не понимаю, зачем использовать что-то еще.

Если у вас монофонический исполняемый файл, возможно, самый простой способ - просто создать скрипт в "init.d", если вы хотите запуститькогда система запустится или сделайте запись в crontab.Это действительно легко.Здесь вы можете найти простой справочник .

...