/
lib
/
systemd
/
system
/
Upload File
HOME
[Unit] Description=LibCare patch server [Service] ExecStartPre=/usr/bin/kcarectl --has-flags libcare-enabled ExecStart=/usr/libexec/kcare/libcare-server -v -o /var/log/libcare/server.log -S &3 SuccessExitStatus=143 # Only send `stop` when the server is still running (MAINPID is set). # If the server already terminated on its own, MAINPID is unset and we must # not connect through the socket: that would trigger socket activation, # start a new instance, which receives `stop` and exits, causing a loop. # Use if/fi instead of && to return 0 when skipping, so systemd does not # mark the service as "failed". ExecStop=/bin/sh -c 'if test "$${MAINPID:-x}" != x; then echo "ExecStop: sending stop to MAINPID=$$MAINPID"; LIBCARE_CLIENT_TIMEOUT=10 /usr/libexec/kcare/libcare-client stop; else echo "ExecStop: server already exited, skipping stop (MAINPID=$$MAINPID)"; fi'