[systemd-devel] Additional error details when resource limits are exceeded
Kai Krakow
hurikhan77 at gmail.com
Wed Dec 23 07:07:16 PST 2015
Am Wed, 23 Dec 2015 22:55:13 +0800
schrieb Peter Hoeg <peter at hoeg.com>:
> Hi,
>
> >Type=simple cannot detect when a service is ready. Systemd simply
> >of teamviewerd but with service inter-dependencies this becomes
> >important.
> >
> >Type=simple considers the service up immediatly thus triggering
> >dependent service for immediate execution while Type=forking
> >considers the service up only when appearance of the PIDFile signals
> >so, and only then schedules starting dependent services.
> >
> >So, Type=forking is the only way to have synchronization points
> >between service that depend on each other.
>
> In all fairness, the presence of a PID really doesn't say anything
> either about availability. The only way to be sure is to use
> Type=Notify with a cooperating daemon.
Okay, remove "only" from my sentence. It is _one_ way to signal the
service manager that a service is ready. Apparently, some services
(like MySQL) do early forking and write the PID file, and only then do
their initializations. Still, it's better in most cases
than Type=simple until Type=notify becomes more widely used (as you
write it needs cooperation of the service). Apparently, notifying
requires including a small systemd specific lib (which does no harm
when used on non-systemd systems) as far as I understood. But many
upstreams and even more users would deny or rage against including such
a library, just because it says "systemd" on its name tag. :-(
> >> I haven't looked at the code, but again, if systemd knows that some
> >> limit is being exceeded, wouldn't it make sense to say which one?
> >
> >Probably yes... Maybe Lennart pays attention?
>
> Otherwise that might be fun xmas project for an enterprising young
> coder!
Or that way... :-)
Let Lennart have a calm xmas and all of you others, too.
--
Regards,
Kai
Replies to list-only preferred.
More information about the systemd-devel
mailing list