From 967ff37b78e28638be3c616e3a8446fc39601327 Mon Sep 17 00:00:00 2001 From: server2 Date: Thu, 8 Oct 2026 01:25:33 +0200 Subject: [PATCH] spectrum: kill a cava left by an earlier shell on start stopping the shell leaves its cava running (parent 1), reading on from a closed pipe and ignoring SIGTERM; every restart while music played leaked one. on start, pkill -KILL -f our cava.conf before starting our own --- src/spectrum.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/spectrum.rs b/src/spectrum.rs index 44dcd11..49e4ee7 100644 --- a/src/spectrum.rs +++ b/src/spectrum.rs @@ -35,6 +35,12 @@ impl Service for Spectrum { fn listen() { let config = art::folder().join("cava.conf"); + /* + * a cava left by an earlier shell: stopping the shell doesn't stop its cava, + * which reads on from a closed pipe and ignores SIGTERM. none of ours runs yet + */ + let _ = Command::new("pkill").arg("-KILL").arg("-f").arg(&config).status(); + let _ = fs::write(&config, cava_config()); let mut running: Option = None;