3 ms·
So my cups.service is: [Unit] Description=CUPS Printing Service [Service] ExecStart=/usr/sbin/cupsd -f PrivateTmp=true [Install] Also=cups.so
by hactually 13y ago
So my cups.service is:
[Unit]
Description=CUPS Printing Service
[Service]
ExecStart=/usr/sbin/cupsd -f
PrivateTmp=true
[Install]
Also=cups.socket cups.path
WantedBy=printer.target
It requires no extra things - Your cups script depends on checkpath and start-stop-daemon. More executables, more dependencies so yeah, I'd argue it suffers coupling and is a mess.
You say that systemd makes things a "complex, interdependent mess" but it's better than the brittle dependent mess of the status quo. The usage of start-stop-daemon doesn't even ensure that the app was killed - it acts just as a killall <servicename>. It doesn't catch a process in a Disk Wait state or even if the process has trapped the SIGTERM - It's not just useless, it's deceptive as to its functionality.
People continually spew the line about the UNIX philosophy. If you want to use Unix, use Unix.
Linux is [becoming] better than Unix.
- nailer 13y agoThe other super awesome thing about systemd is: all errors and output from this service is captured by journald with 'cupsd' as the source. Compare this to SysV init, where you have to manually wrap stuff in syslog calls (and the facility names are 'uucp' and 'news' rather than anything meaningful). <3