I've read some WWDC sessions slides, the launchd.plist man page and I've already made some launchd plists but I'm wondering about the following points: - is it possible to define different types of trigger for a launchd daemon or agents? For instance, is it possible to launch a daemon both on schedule with StartCalendarInterval and a mach message? The idea being the process would be run at a specific time of the day but could also be launched "manually". - is there a way to change the StartCalendarInterval values of a daemon launchd plist (while the launchd daemon is running) with some kind of launchd APIs instead of Foundation/CoreFoundation APIs? If you change these values, do you need to unload and then reload the plist (I would tend to believe so which would be an issue)? - is it possible tell launchd to re-launch a schedule daemon if the daemon crashes and not only when the next trigger date is reached?