7

I have two services A and B where A is dependent on B which means A needs services provided by B, so in the A's service unit i have After and Requires set to B

After=B.service
Requires=B.service

Now when i stop the service B the service A also stops. And then after stopping B when i start it, the service A is not started and i have to start it manually.

systemctl stop B (A is also stopped)
systemctl start B (A is not started)
systemctl start A (I have to start A manually)

But if the service A is already stopped and i restart service B then the B and A both are started by the systemctl

systemctl stop A
systemctl restart B (B and A both are started)

My question is what is difference between start and restart for the kind of service unit i have for A?

tent
  • 69
  • 8

2 Answers2

2

systemctl start: Used to start a service (not reboot persistent)

systemctl stop: Used to stop a service (not reboot persistent)

systemctl restart: Used to stop and then start a service

Eric.Chang
  • 71
  • 2
1

You can always refer man pages for better understanding. Basically wants,requires,after are treated differently.

Dependencies react differently to wants and requires in a service file.

Start is simply starting a service when you want to use it but restart is mostly done when some changes are made in service files. Refer this link for better understanding https://wiki.archlinux.org/index.php/Systemd.

mad max
  • 61
  • 9