[systemd-devel] Conditional clean up action

Lennart Poettering lennart at poettering.net
Mon Jan 8 19:01:19 UTC 2018


On Fr, 05.01.18 13:04, Mircea Husz (mirceahusz at yahoo.com) wrote:

> On Fri, 2018-01-05 at 09:55 +0100, Michal Sekletar wrote:
> > On Thu, Jan 4, 2018 at 9:50 PM, Mircea Husz <mirceahusz at yahoo.com>
> > wrote:
> > > Migrating an init script to systemd, and need to archive logs only
> > > if the
> > > service exited normally with a return code 0. I found
> > > $SERVICE_RESULT,
> > > $EXIT_CODE, and $EXIT_STATUS  but they are in a newer version of
> > > systemd, I
> > > am stuck with version 219 on CentOS 7.
> > > 
> > > I'd love to run ExecStopPost on a conditional exit status but
> > > that's just
> > > not available. Before I get creative with Pre, Start, and Post bash
> > > scripts,
> > > is there any straightforward way of handling this kind of thing
> > > with systemd
> > > ?
> > 
> > You could query the exit code in post script via systemctl show, the
> > property is called ExecMainCode. Btw, in case you have RH
> > subscription
> > then please open a support case and we can backport this
> > functionality
> > to RHEL/CentOS.
> > 
> > Cheers,
> > 
> > Michal
> 
> Thank you, you're getting me on the right path. I found that
> ExecMainCode returned 1 when the process
>  was brought down gracefully, but in the process (no pun intended) of
> testing I discovered ExecMainStatus. 
> Its value is 0 on normal termination, and non-zero when I cause it to
> crash. However this might be all 
> coincidental and don't want to infer what the properties mean based on
> these observations.
> 
> They do seem to mirror the values listed in systemd status output, as
> in: (code=exited, status=0/SUCCESS)
> 
> I'd like to find documentation on these properties and didn't find any;
> can you point me in the right direction?

You may find (not very up-to-date) docs about those properties here:

https://www.freedesktop.org/wiki/Software/systemd/dbus/

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list