Я не проверял это, но вы должны иметь возможность запустить агент запуска в фоновом режиме, что-то вроде этого:
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>/path/to/script &</string>
</array>
<key>AbandonProcessGroup</key>
<true/>
Примечания: если вам нужно передать какие-либо аргументываш сценарий, включите их в тот же <string>
, что и путь сценария, разделенный пробелами (а не как отдельные <string>
s, как вы обычно это делаете в файле демона запуска). Клавиша AbandonProcessGroup
необходима, чтобы не допустить «искусного» запуска launchd любых оставшихся подпроцессов (например, вашего реального скрипта) при выходе из процесса, который он рассматривает как процесс демона.