11

Я хочу, чтобы скрипт (bash/zsh/ruby/...) запускался во время загрузки в OS X. Какой самый простой способ сделать это, не связываясь с файлами xml/plist, и предпочтительно не нужно создавать мета AppleScript ,

3 ответа3

6

Если вы измените свое мнение:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.superuser.245713</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/script.sh</string>
    </array>
    <key>UserName</key>
    <string>someuser</string>
</dict>
</plist>

Сохраните как com.superuser.245713.plist в /Library/LaunchAgents/ и сделайте root:wheel владельцем / группой.

6

MacOS X использует Vixie Cron, который имеет специальные метатеги для запуска во время перезагрузки. См. Справочную страницу для формата файла.

что-то вроде:

@reboot /path/to/script.sh

в вашем crontab будет работать. Я не уверен, что это лучшее решение, чем launchd, у вас, вероятно, больше мета-инструментов, которые смотрят на launchd, чем cron.

2

Существуют также крюки входа в систему, если вы предпочитаете, чтобы скрипт запускался (как root), когда пользователь входит в систему, а не при загрузке машины.

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