[systemd-devel] start service only on specific exit status of some prog

Lennart Poettering lennart at poettering.net
Tue Nov 1 17:38:55 PDT 2011


On Thu, 25.08.11 13:09, Nick Jones (nick.jones at network-box.com) wrote:

> 
> On Wed, 2011-08-24 at 21:21 +0200, Lennart Poettering wrote: 
> > On Wed, 24.08.11 21:12, Marius Tolzmann (tolzmann at molgen.mpg.de) wrote:
> > 
> > > 
> > > On 24.08.2011 18:52, Lennart Poettering wrote:
> > > >Hmm, yeah, if ExecStartPre= we put the unit in failure mode.
> > > >
> > > >So, let me see if I got this right: you are looking for something like
> > > >ExecStartPre= but twhere the program when it returns non-zero should
> > > >just cause the service to be skipped but not be put in failure state?
> > > 
> > > Yes. that's my request.
> > > 
> > > something like ConditionExec=/bin/true and ConditionExec=/bin/false
> > > so i can implement any thinkable logic outside of systemd and still
> > > maintain access to all features like Restart= etc.
> > > 
> > > I thought this may be an easy way to expand the already existent
> > > conditions (ConditionPathExists= etc.)  without implementing too
> > > many special conditional tests in systemd itself. (e.g. check if the
> > > current hostname matches some pattern - which was my original issue
> > > i tried to solve) 8)
> > 
> > I have now added this to the TODO list. It won't be easy to add this
> > though, as execution extrernal processes synchronously is not an
> > option. More likely I'll add an additional prefix char to ExecStart=
> > (like "-") which would indicate skip-on-fail or so.
> > 
> > Lennart
> > 
> 
> Would it make sense to emit a virtual unit label if a given unit
> fails?

That already exists with OnFailure=.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list