Do systemd unit files have to be reloaded when modified?
Solution 1:
After you make changes to your unit file, you should run systemctl daemon-reload
, as outlined here.
daemon-reload
Reload systemd manager configuration. This will rerun all generators (see systemd.generator(7)), reload all unit files, and recreate the entire dependency tree. While the daemon is being reloaded, all sockets systemd listens on behalf of user configuration will stay accessible.
You can then restart (or reload) your service as you desire with
systemctl restart your-service-name
(daemon-reload won't reload/restart the services themselves, just makes systemd aware of the new configuration)
Solution 2:
As an addition to the answer above: In case you changed something in the [Install]
directive, you may need to run sudo systemctl reenable YOURUNITFILE
in order to recreate the symlinks in the .target directories.