Thanks, that is a nice workaround.

Zhenfu

> On Jul 17, 2023, at 16:00, Rainer Müller <rai...@macports.org> wrote:
> 
> On 17/07/2023 20.58, Zhenfu Shi wrote:
>> I’m looking for a way to import environment variables for a process started 
>> by launchd. systemd on Linux has EnvironmentFile key which allows env vars 
>> to be read from a file, can launchd do something similar?
>> I’m asking this because my cloudflared port has command line options 
>> hardcoded into its launchd script which gets overwritten on every upgrade. 
>> If I can somehow make those options read in from another file I can make 
>> them configuable to the users.
> 
> Unfortunately, I do not think this is easily possible with launchd.
> 
> The only solution I can think of would be to wrap it with a shell script. Or 
> use an external start script that reads the arguments from a file.
> 
> <key>ProgramArguments</key>
> <array>
>    <string>/bin/sh</string>
>    <string>-c</string>
>    <string>source /opt/local/etc/foo/options && exec /opt/local/bin/foo 
> $FOO_OPTIONS</string>
> </array>
> 
> 
> Rainer

Reply via email to