ryg

Механизм запуска программ launchhd в Mac OS X

launchd -расширение системы и пользовательский менеджер задач
 
Синтаксис 
	 launchd [-d] [-D] [-s] [-S SessionType] [-- command [args ...]]
 
Описание

launchd управляет как системными, так и пользовательскими процессами. Предпочтительным интерфейсом управления запуском программ является launchctl, позволяет пользователями и администраторам запускать и останавливать задачи. Для запуска предпочтительно, насколько это возможно использовать файлы конфигурации .plist.

Во время загрузки  ядра операционной системы launchd запускается первым процессом и далее управляет загрузкой.
 
Напрямую вызвать launhd невозможно.
 
Переменные окружения
LAUNCHD_SOCKET
           эта переменная экспортируется из командной строки в тот момент, когда launchd запускается. Она сообщает launchctl, где искать корректный launchd. 
 
Заметки

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

В лексиконе, используемом launchd термин "daemon" -означает, что это системная служба (сервис) доступная для всех клиентов. Термин "agent" это сервис, который запущен на уровне пользователя. Daemon не должны использовать пользовательский интерфейс и взаимодействовать с сеансом пользователя напрямую, любые работ по взаимодействию с пользователями должны выполнять агенты.

 
Файлы
~/Library/LaunchAgents         Пользовательские Агенты уровня обычных пользователей
/Library/LaunchAgents          Пользовательские агенты уровня администраторов 
/Library/LaunchDaemons         Системные демоны уровня администраторов
/System/Library/LaunchAgents   Пользовательские агенты уровня Mac OS X.
/System/Library/LaunchDaemons  Системные демоны уровня Mac OS X. 

Ссылки

launchctl -интерфейсная утилита для launchd 
cron - утилита выполнения задач по расписанию
crontab - утилита управления расписанием для cron
open   - открыть файл, папку или страницу по URL
Алфавитный список команд terminal в Mac OS X