keep dspam alive?
Terry Barnum
terry at dop.com
Tue Aug 6 11:23:10 PDT 2013
The macports dspam port doesn't appear to create a launchd plist or daemondo wrapper. How would one create a daemondo .plist to restart dspam when it crashes?
Right now I have this .plist and wrapper but they don't restart dspam when it crashes. Thanks for any guidance.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version='1.0'>
<dict>
<key>Label</key><string>org.macports.dspam</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/daemondo</string>
<string>--label=dspam</string>
<string>--start-cmd</string>
<string>/opt/local/etc/LaunchDaemons/org.macports.dspam/dspam.wrapper</string>
<string>start</string>
<string>;</string>
<string>--stop-cmd</string>
<string>/opt/local/etc/LaunchDaemons/org.macports.dspam/dspam.wrapper</string>
<string>stop</string>
<string>;</string>
<string>--restart-cmd</string>
<string>/opt/local/etc/LaunchDaemons/org.macports.dspam/dspam.wrapper</string>
<string>restart</string>
<string>;</string>
</array>
<key>KeepAlive</key><true/>
</dict>
</plist>
Here's the dspam.wrapper:
#!/bin/sh
#
# MacPorts generated daemondo support script
#
#
# Init
#
prefix=/opt/local
#
# Start
#
Start()
{
/opt/local/bin/dspam --daemon
}
#
# Stop
#
Stop()
{
kill `cat /opt/local/var/run/dspam.pid`
}
#
# Restart
#
Restart()
{
Stop
Start
}
#
# Run
#
Run()
{
case $1 in
start ) Start ;;
stop ) Stop ;;
restart) Restart ;;
* ) echo "$0: unknown argument: $1";;
esac
}
#
# Run a phase based on the selector
#
Run $1
Terry Barnum
digital OutPost
http://www.dop.com
More information about the macports-users
mailing list