Если указана Программа
, это всегда будет программа, выполняемая, даже если также был указан ProgramArguments
.
<key>Program</key>
<string>/foo/bar/baz/python</string>
<key>ProgramArguments</key>
<array>
<string>/foo/bar/baz/python</string>
<string>/foo/bar/baz/service</string>
<string>start</string>
</array>
В этом случае первый элемент в ProgramArguments
на самом деле не оценивается, но он передается как argv [0]
выполняемой программе. Обычно в этом нет необходимости, но есть свои применения. Например, программа может проверять argv [0]
и работать в другом режиме в зависимости от этого значения.
Для всего остального достаточно использовать только ProgramArguments
. Это определение задания работает точно так же, как приведенное выше:
<key>ProgramArguments</key>
<array>
<string>/foo/bar/baz/python</string>
<string>/foo/bar/baz/service</string>
<string>start</string>
</array>