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