$ systemctl cat bar
# /etc/systemd/system/bar.service
[Unit]
BindsTo=foo.service
#Same with or without After=, the window is very small to make a difference.
After=foo.service
[Service]
ExecStart=/bin/sleep infinity
$ sudo systemctl status foo bar
● foo.service
Loaded: loaded (/etc/systemd/system/foo.service; static; vendor preset: enabled)
Active: active (running) since Wed 2020-02-12 11:38:30 MSK; 36s ago
Main PID: 1614 (sleep)
Tasks: 1
Memory: 172.0K
CPU: 1ms
CGroup: /system.slice/foo.service
└─1614 /bin/sleep infinity
Feb 12 11:38:30 pono-mac systemd[1]: Started foo.service.
● bar.service
Loaded: loaded (/etc/systemd/system/bar.service; static; vendor preset: enabled)
Active: active (running) since Wed 2020-02-12 11:38:30 MSK; 36s ago
Main PID: 1625 (sleep)
Tasks: 1
Memory: 188.0K
CPU: 972us
CGroup: /system.slice/bar.service
└─1625 /bin/sleep infinity
Feb 12 11:38:30 pono-mac systemd[1]: Started bar.service.
$ sudo kill -6 1614
$ sudo systemctl status foo bar
● foo.service
Loaded: loaded (/etc/systemd/system/foo.service; static; vendor preset: enabled)
Active: failed (Result: resources) since Wed 2020-02-12 11:39:24 MSK; 2s ago
Process: 1614 ExecStart=/bin/sleep infinity (code=killed, signal=ABRT)
Main PID: 1614 (code=killed, signal=ABRT)
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Unit entered failed state.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed with result 'signal'.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Service has no hold-off time, scheduling restart.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed to schedule restart job: Transaction is destructive.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Unit entered failed state.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed with result 'resources'.
● bar.service
Loaded: loaded (/etc/systemd/system/bar.service; static; vendor preset: enabled)
Active: inactive (dead) since Wed 2020-02-12 11:39:24 MSK; 2s ago
Process: 1625 ExecStart=/bin/sleep infinity (code=killed, signal=TERM)
Main PID: 1625 (code=killed, signal=TERM)
Feb 12 11:38:30 pono-mac systemd[1]: Started bar.service.
Feb 12 11:39:24 pono-mac systemd[1]: Stopping bar.service...
Feb 12 11:39:24 pono-mac systemd[1]: Stopped bar.service.
Here is a minimal example, courtesy of bl33pbl0p from the github issue. I've double-checked it and it is valid test case for this issue:
$ systemctl cat foo system/ foo.service /bin/sleep infinity
# /etc/systemd/
[Unit]
PartOf=bar.service
[Service]
ExecStart=
RestartSec=0s
Restart=always
$ systemctl cat bar system/ bar.service /bin/sleep infinity
# /etc/systemd/
[Unit]
BindsTo=foo.service
#Same with or without After=, the window is very small to make a difference.
After=foo.service
[Service]
ExecStart=
$ sudo systemctl status foo bar system/ foo.service; static; vendor preset: enabled) slice/foo. service
● foo.service
Loaded: loaded (/etc/systemd/
Active: active (running) since Wed 2020-02-12 11:38:30 MSK; 36s ago
Main PID: 1614 (sleep)
Tasks: 1
Memory: 172.0K
CPU: 1ms
CGroup: /system.
└─1614 /bin/sleep infinity
Feb 12 11:38:30 pono-mac systemd[1]: Started foo.service.
● bar.service system/ bar.service; static; vendor preset: enabled) slice/bar. service
Loaded: loaded (/etc/systemd/
Active: active (running) since Wed 2020-02-12 11:38:30 MSK; 36s ago
Main PID: 1625 (sleep)
Tasks: 1
Memory: 188.0K
CPU: 972us
CGroup: /system.
└─1625 /bin/sleep infinity
Feb 12 11:38:30 pono-mac systemd[1]: Started bar.service.
$ sudo kill -6 1614 system/ foo.service; static; vendor preset: enabled) /bin/sleep infinity (code=killed, signal=ABRT)
$ sudo systemctl status foo bar
● foo.service
Loaded: loaded (/etc/systemd/
Active: failed (Result: resources) since Wed 2020-02-12 11:39:24 MSK; 2s ago
Process: 1614 ExecStart=
Main PID: 1614 (code=killed, signal=ABRT)
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Unit entered failed state.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed with result 'signal'.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Service has no hold-off time, scheduling restart.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed to schedule restart job: Transaction is destructive.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Unit entered failed state.
Feb 12 11:39:24 pono-mac systemd[1]: foo.service: Failed with result 'resources'.
● bar.service system/ bar.service; static; vendor preset: enabled) /bin/sleep infinity (code=killed, signal=TERM)
Loaded: loaded (/etc/systemd/
Active: inactive (dead) since Wed 2020-02-12 11:39:24 MSK; 2s ago
Process: 1625 ExecStart=
Main PID: 1625 (code=killed, signal=TERM)
Feb 12 11:38:30 pono-mac systemd[1]: Started bar.service.
Feb 12 11:39:24 pono-mac systemd[1]: Stopping bar.service...
Feb 12 11:39:24 pono-mac systemd[1]: Stopped bar.service.