[systemd-devel] systemd-journald, syslog.socket and service activation
Thomas HUMMEL
thomas.hummel at pasteur.fr
Thu Jul 2 15:57:47 UTC 2020
On 02/07/2020 16:44, Andrei Borzenkov wrote:
> This is common misunderstanding. Dependencies are between jobs, not
> between units. Requires means systemd will submit additional job for
> dependent unit - nothing more nothing less. Unless systemd is also told
> to wait for result of this additional job, both are started in parallel
> and failure of dependent job does not affect other unit in any way.
You're right. Sorry if I was not clear.
Note however that systemd.unit doc talks about units, not jobs for Requires=
Anyway, it turns out that systemctl list-dependencies --after
rsyslog.service shows also an ordering dependency on sockets.target /
syslog.socket.
So, I might be wrong but shouldn't Requires= + After= make the rsyslog
service fail if syslog.socket fails ?
# systemctl show -p Requires,After rsyslog.service
Requires=syslog.socket system.slice sysinit.target
After=system.slice sysinit.target syslog.socket network.target
basic.target network-online.target
Doc says:
"If this unit gets activated, the units listed will be activated as
well. If one of the other units fails to activate, and an ordering
dependency After= on the failing unit is set, this unit will not be
started. "
That's what I meant and though it does seems so at boot, I seemed to
experience the contrary when manually starting rsyslog.service...
So I must like you said misunderstand something...
Thanks for your help
--
Thomas HUMMEL
More information about the systemd-devel
mailing list