Se Program
for especificado, será sempre o programa executado, mesmo que ProgramArguments
tenha sido especificado também.
<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>
Nesse caso, o primeiro elemento em ProgramArguments
não é realmente avaliado, mas é passado como argv[0]
para o programa que está sendo executado. Geralmente isso não é necessário, mas tem seus usos. Por exemplo, o programa pode inspecionar argv[0]
e executar em um modo diferente dependendo deste valor.
Para todo o resto, basta usar apenas ProgramArguments
. Essa definição de trabalho funciona exatamente como a acima:
<key>ProgramArguments</key>
<array>
<string>/foo/bar/baz/python</string>
<string>/foo/bar/baz/service</string>
<string>start</string>
</array>