+OS X has something called [launchd](http://en.wikipedia.org/wiki/Launchd). This is a system for monitoring services and make sure services are started if certain conditions are met. This is used at least on OS X 10.5 and maybe newer versions as well. (If you want me to check it, you have to give me a laptop with that version installed on it.)
+
+To use launchd, you have to create a property-list file for tinc and put it under /Library/LaunchDaemons/
+
+For instance, I created */Library/LaunchDaemons/myvpn.tinc.plist* with the following:
+
+ <?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>KeepAlive</key>
+ <true/>
+ <key>Label</key>
+ <string>tinc.myvpn</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>/usr/local/tinc/sbin/tincd</string>
+ <string>-n</string>
+ <string>myvpn</string>
+ <string>-D</string>
+ </array>
+ </dict>
+ </plist>
+
+This will configures tincd to start the myvpn configuration in the foreground (-D). If tincd is started as background daemon, launchd will become confused. Launchd will directly start tincd if this file is found (it might be that you first have to use the load command as explained below - I cannot remember), the KeepAlive will ensure that if tincd will stop, it is restarted directly. To be able to stop tincd you have to use *launchctl*. Good commands to remember are:
+
+ launchctl unload -w /Library/LaunchDaemons/myvpn.tinc.plist
+
+This adds a *disabled* key to the file and stops tincd. The disabled key ensure that launchd will not start tincd anymore. The inverse operation is:
+
+ launchctl load -w /Library/LaunchDaemons/myvpn.tinc.plist
+
+This removes the *disabled* key from the file and starts tincd. Using:
+
+ launchctl list
+
+you will get a list of all services monitored by launchd. If done correctly, you will see tinc.myvpn listed with some process id.
+
+There is also a stop command:
+
+ launchctl stop tinc.myvpn
+
+But because the property list does not specify any condition when to start the command, launchd will directly start the tinc.myvpn service again.
+