[systemd-devel] Unload disabled units

Daniel Duong daniel.duong at outlook.com
Sun Sep 15 03:12:22 UTC 2019


Hi,

I have a 2 template units: 1 for a service and 1 for a socket. Each
instance is a version of my web application.

After a successful deploy, I stop and disable the old version and I
enable the new one:
	systemctl start belleshop at 0.2.socket
	# Test that everything is fine
	systemctl enable belleshop at 0.2.socket
	systemctl stop belleshop at 0.1.socket
	systemctl stop belleshop at 0.1.service
	systemctl disable belleshop at 0.1.socket

I've done that for a few versions now, and it seemed to work OK. There
is a little problem though. The old versions are still loaded:

	$ systemctl --no-legend --all list-units belleshop@*
	belleshop at 0.110.service loaded active   running Belleshop server
	belleshop at 0.34.service  loaded inactive dead    Belleshop server
	belleshop at 0.36.service  loaded inactive dead    Belleshop server
	belleshop at 0.37.service  loaded inactive dead    Belleshop server
	[...]
	belleshop at 0.110.socket  loaded active   running Belleshop socket
	belleshop at 0.34.socket   loaded inactive dead    Belleshop socket
	belleshop at 0.36.socket   loaded inactive dead    Belleshop socket
	belleshop at 0.37.socket   loaded inactive dead    Belleshop socket
	[...]

Is there any way I can unload these old versions?

Here are my unit files:

belleshop at .service:
	[Unit]
	Description=Belleshop server
	Requires=belleshop@%i.socket
	After=network.target

	[Service]
	User=belleshop
	Group=belleshop
	ExecStart=/opt/belleshop/bin/belleshop-%i.pyz server --bind unix:/run/belleshop/belleshop-%i.sock
	ConfigurationDirectory=opt/belleshop/
	StateDirectory=belleshop
	CacheDirectory=belleshop
	RuntimeDirectory=belleshop
	Environment="SHIV_ROOT=/var/cache/belleshop"
	RuntimeDirectoryPreserve=yes
	StandardOutput=journal
	StandardError=inherit

	[Install]
	WantedBy=multi-user.target

belleshop at .socket:
	[Unit]
	Description=Belleshop socket

	[Socket]
	ListenStream=/run/belleshop/belleshop-%i.sock

	[Install]
	WantedBy=sockets.target

Daniel



More information about the systemd-devel mailing list