Linked by Thom Holwerda on Tue 23rd Aug 2005 18:32 UTC, submitted by Hakime SEDDIK
Mac OS X In Tiger, Apple introduced a new system startup program called launchd. The launchd daemon takes over many tasks from cron, xinetd, mach_init, and init, which are UNIX programs that traditionally have handled system initialization and prepared the system for the user. These venerable programs are widely used by system adminstrators, open source developers, managers of web services, even consumers who want to use cron to manage iCal scheduling, and they can still be called with launchd.
Thread beginning with comment 22256
To read all comments associated with this story, please click here.
Not UNIX's cup of tea
by abraxas on Wed 24th Aug 2005 00:48 UTC
abraxas
Member since:
2005-07-07

The real problem with launchd in my opinion is that it is not the UNIX way of doing things. Launchd seems to be a whole bunch of services rolled up into one program. This is at odds with the UNIX philosophy where a program should do one thing and have the ability to interface with other programs, usually via text. With launchd when one aspect is modified it will affect everything else. When there is a bug in launchd it could affect numerous services instead of just one. These all-in-one type programs create more complexity and reduce security.

Reply Score: 1

RE: Not UNIX's cup of tea
by on Wed 24th Aug 2005 01:30 in reply to "Not UNIX's cup of tea"
Member since:

Nonsense. Just because the subsystem evolved to have many similar daemons that launch things, doesn't mean it's the best way. When it comes down to it, cron, inetd, etc have more in common than not and combining them reduces complexity and saves memory. It's not an all-in-one, it's a daemon that launches other programs based on system events. Why do you need a daemon for each kind of event?

Reply Parent Score: 2

RE[2]: Not UNIX's cup of tea
by on Wed 24th Aug 2005 15:54 in reply to "RE: Not UNIX's cup of tea"
Member since:

When it comes down to it, cron, inetd, etc have more in common than not and combining them reduces complexity and saves memory. It's not an all-in-one, it's a daemon that launches other programs based on system events. Why do you need a daemon for each kind of event?

I wouldn't want my cron program to be the same as my init program. What if the "cron" portion of launchd gets exploited? Now your init is also vulnerable. What happens when you decide to overhaul the "init" part of the code? Now bugs are not only introduced into your init application but also your cron application. Launchd is too all-encompassing for my likes. Exactly why does something that launches startup scripts have to be same as something that executes scheduled commands? How does this save memory when init only has to run once. Now the larger launchd program has to run all the time to schedule cron jobs and other things.

Reply Parent Score: 0