[launchd-dev] Environment variable usage in LaunchAgents plist files
Dave Zarzycki
zarzycki at apple.com
Tue Mar 11 19:48:37 PDT 2008
Levi,
launchd does not depend on or otherwise require the machine to have a
shell. In fact, Apple's iPhone does not even have /bin/sh. If you want
to express environmental variables as command line arguments, please
consider having launchd run: /sbin/sh -c $HOME/something/something-
else.sh
davez
On Mar 4, 2008, at 2:24 PM, Levi Brown wrote:
> Hi All,
>
> While trying to understand why my console had log entries every two
> minutes such as this:
>
> 3/4/08 10:40:00 com.apple.launchd[1] (0x102450.cron[9834]) Could not
> setup Mach task special port 9: (os/kern) no access
>
> I decided that perhaps it was time to get rid of my cron jobs in
> favor of launchd.plist entries. So I set out to convert my crontab
> entry:
>
> */2 * * * * /bin/sh "${HOME}/Library/Automation/checkmail.sh" > /dev/
> null 2>&1
>
> into a launchd.plist of equal functionality. I presently have:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd
> ">
> <plist version="1.0">
> <dict>
> <key>Label</key>
> <string>com.lab.checkmail</string>
> <key>ProgramArguments</key>
> <array>
> <string>/bin/sh</string>
> <string>/Users/labrown/Library/Automation/checkmail.sh</string>
> </array>
> <key>StartInterval</key>
> <integer>120</integer>
> </dict>
> </plist>
>
> But I'm unsettled by needing to specify a hard-coded path to my
> script. Notice, in my crontab entry I was able to access HOME, but
> when I try that in the plist, it is taken literally (without
> expanding) and causes obvious problems.
>
> HOME is set appropriately, and I can verify that by issuing the
> 'export' command to launchctl.
>
> How does one work around this issue?
>
> Thanks,
>
> Levi_______________________________________________
> launchd-dev mailing list
> launchd-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/launchd-dev
More information about the launchd-dev
mailing list