[systemd-devel] [ANNOUNCE] systemd v229

Mikhail Kasimov mikhail.kasimov at gmail.com
Thu Feb 11 19:14:18 CET 2016


11.02.2016 19:48, Lennart Poettering пишет:
> On Thu, 11.02.16 19:47, Mikhail Kasimov (mikhail.kasimov at gmail.com) wrote:
> 
>> 11.02.2016 19:32, Jóhann B. Guðmundsson пишет:
>>
>>>>          * A new service setting RuntimeMaxSec= has been added that
>>>> may be used
>>>>            to specify a maximum runtime for a service. If the timeout
>>>> is hit, the
>>>>            service is terminated and put into a failure state.
>>>
>>> This does not sound right, why put it into failure state if I as an
>>> admin specifically told the the service it could run for maximum X time
>>> and then it should stop? ( after that time period the type unit should
>>> be stopped cleanly basically systemctl stop foo.service and the state be
>>> exactly the same as it yields right ? )
>>
>> And if additional option Restart=on-failure is defined in [Service], the
>> unit will be restarted again immediately. So, user will get unit, that
>> will be active due to RuntimeMaxSec=, then it will be marked as "failed"
>> and, if additional option Restart=on-failure is defined, will be
>> restarted again... failed...restart and so on for eternity. Right?
> 
> Sure, if that's how you configure things, then systemd does what you
> are asking it for.


I'm staring on TimeoutStopSec= directive description and I think it's be
more logical a little bit to define RuntimeMaxSec= _only together_ with
TimeoutStopSec=.

The logic is: if unit is still active, then systemd waits for time,
defined in TimeoutStopSec=, and only after TimeoutStopSec= is hit, then
mark unit as failed. Otherwise, if unit was stopped earlier then
TimeoutStopSec=, marked as normally stopped. This looks more gentle.

So, if RuntimeMaxSec= is defined in [Service] without TimeoutStopSec=,
then systemd will ignore it. Your opinion?






More information about the systemd-devel mailing list