Originally posted by Delgarde
View Post
2) /usr/sbin/my_daemon 2> /var/log/my_daemon.log & ? Can't I do this with sysvinit or whatever else?
Similarly, a proliferation of daemons with essentially the same function of starting other processes - init, inetd, crond, atd.
Furthermore, if 4 daemons, each one with limited and documented behaviour, are "a proliferation", what hyperbole will you use do describe the 538 files that make up my systemd installation?
It's easy to talk about UNIX philosophy and modularity, but what about the amount of redundant code covered by those four services?
The fundamental feature of all of them is that they start processes and (potentially) trap the output and report it in some way - the only difference is a triggering event (system startup, a socket connection, or a scheduled time).
Is merging some of them into a single service such a bad idea? Especially the latter two - there's really no good reason for having two separate daemons responsible for scheduled tasks, differing only on whether the tasks are recurring or one-off...
With the new approach, I need to learn the commands to tell the new monolithic daemon to suspend socket activation, leaving local sockets alone, and to learn the commands again every time they change, or whenever I want to change the particular monolithic daemon that I use.
Which is not to say that merging atd and crond is not a good idea (is there any distribution that is still using atd and cron anyway?). An even better idea would be to standardize a format for a "startup recipe" that daemons writers can distribute with their code and expect it to run on any distribution. This would allow independent implementations of superservers with more freedom for users and developers. Also, competition leads to better code quality compared to monoculture.
Putting together atd, crond, syslogd, udev, dbus, connman into the same entity is an entirely different thing.
Comment