mirror of
https://github.com/containers/podman.git
synced 2025-12-03 11:49:18 +08:00
When enabled, it's desired for the podman-varlink process to startup on boot or upon socket-activation, whichever happens first. However, with `KillMode=none` systemd will never kill any podman-varlink processes. This makes it easily possible for multiple podman-varlink processes to be running, and fight each other to service a single socket. --- For example: Prior to this commit, this will result in four podman-varlink processes being run: ``` systemctl enable io.podman.socket systemctl enable io.podman.service systemctl start io.podman.socket systemctl start io.podman.service systemctl start io.podman.service ``` Fix this by setting `KillMode=process` and `TimeoutStopSec=30` (default is 90). This results in podman-varlink exiting on its own after a minute of being idle (--timeout=60000). Alternatively, systemd will manage the service stop by sending a SIGTERM, then if podman-varlink has not exited within `TimeoutStopSec`, a SIGKILL will be sent. Signed-off-by: Chris Evich <cevich@redhat.com>
16 lines
323 B
Desktop File
16 lines
323 B
Desktop File
[Unit]
|
|
Description=Podman Remote API Service
|
|
Requires=io.podman.socket
|
|
After=io.podman.socket
|
|
Documentation=man:podman-varlink(1)
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/bin/podman varlink unix:%t/podman/io.podman --timeout=60000
|
|
TimeoutStopSec=30
|
|
KillMode=process
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
Also=io.podman.socket
|