[launchd-dev] Launching a process on demand?
Damien Sorresso
dsorresso at apple.com
Mon Jul 6 23:45:48 PDT 2009
On Jul 6, 2009, at 10:11 PM, Conrad Taylor wrote:
> Hi, I'm attempting to configure the MySQL launchd plist file to
> launch MySQL process only when needed. At this time, it's launched
> at boot/startup and it stays alive. At this time, the script looks
> as follows:
>
> BEGIN org.macports.mysql5.plist:
>
> <?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>Debug</key>
> <false/>
> <key>Label</key>
> <string>org.macports.mysql5</string>
> <key>OnDemand</key>
> <false/>
> <key>ProgramArguments</key>
> <array>
> <string>/opt/local/bin/daemondo</string>
> <string>--label=mysql5</string>
> <string>--start-cmd</string>
> <string>/opt/local/etc/LaunchDaemons/org.macports.mysql5/
> mysql5.wrapper</string>
> <string>start</string>
> <string>;</string>
> <string>--stop-cmd</string>
> <string>/opt/local/etc/LaunchDaemons/org.macports.mysql5/
> mysql5.wrapper</string>
> <string>stop</string>
> <string>;</string>
> <string>--restart-cmd</string>
> <string>/opt/local/etc/LaunchDaemons/org.macports.mysql5/
> mysql5.wrapper</string>
> <string>restart</string>
> <string>;</string>
> <string>--pid=none</string>
> </array>
> <key>RunAtLoad</key>
> <false/>
> </dict>
> </plist>
>
> END org.macports.mysql5.plist:
When you start inserting semi-colons into your ProgramArguments, it's
time to wrap it all up in a simple shell script.
> I changed the above key/value pair to OnDemand/true. Now, the
> process doesn't start when I try to access it by doing the following:
OnDemand is deprecated. If you want the job launched on-demand, you
can define a Sockets dictionary or a MachServices dictionary. Though
since you're dealing with MySQL, I'm guessing you want the former. To
see an example of a job that's launched on-demand when there is a
connection to a socket, check out the SampleD example and
BetterAuthorizationSample.
> Is there a manual which clearly describes these key/value pairs? I
> guess I'm interested in the key/value pair, OnDemand, and when/how
> it works.
launchd.plist(5)
--
Damien Sorresso
BSD Engineering
Apple Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2425 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/launchd-dev/attachments/20090706/8ce8a9b7/attachment.bin>
More information about the launchd-dev
mailing list