But it does require less thinking, and it is easier to get that right, than having to ponder over pid files like you did. My measure for whether something is good or not, is if it is easy to get right. And Launchctl owns every process.
I am not saying that you can’t conjure up something that is better, but launchctl makes it actually pretty easy to configure daemons right, even though it is based on xml-files, and is cumbersome to use.
But, for us that do AppleScript, this should be less of a problem, as we can control it all with applescript, stopping, starting, setting properties and so on.
And I was thinking of having a GUI, and not a FreeBSD or Linux box without gui, I have no problem editing xml with vi, should I need to. There is even a command plutil, that you can use to lint your plist files for erros.
It is also easy to administer, when you have just this interface to relate to (launchd and plist files).
Edit
You can compare items like this between the *nix’es but Mac Os X is beyond comparison really if you look at the full picture. If you think that I’ll now start to talk about apple events, look and feel, and so on, you are right!
For persons that doesn’t dig into starting and stopping daemons on a daily basis I think launchd to provide a good interface for doing so. It also makes it easy to idenify which daemons and agents you really have. It is kind of initd for dummies, and I think that is a great thing when you are one of those persons that only touch this on a bi-monthly basis.