mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 05:34:43 +02:00
fix(stt-client): stt --stop détecte le process lancé via pipx (#26)
`_running_stt_pids` ne regardait que argv[0], or pipx lance `python -E /…/bin/stt --window app` → argv[0] est l'interpréteur, pas `stt` (et le `-E` décale encore le chemin). Du coup `stt --stop` ne trouvait jamais l'instance vocale (« Aucun service ni instance en cours ») alors qu'elle tournait — confirmé en conditions réelles. Désormais on cherche un token qui est un *chemin* vers `stt` (slash + basename `stt`) dans toute la ligne de commande, ce qui écarte aussi le `stt` nu d'un `journalctl -u stt` (faux positif), et on ignore toujours les sous-commandes utilitaires. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
5855bd0b29
commit
767a94b1d0
2 changed files with 8 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
|||
[project]
|
||||
name = "stt"
|
||||
version = "0.6.0"
|
||||
version = "0.6.1"
|
||||
description = "STT — client vocal Jarvis du homelab Funk (voix + HUD, parle au STT-server)"
|
||||
requires-python = ">=3.11"
|
||||
readme = "README.md"
|
||||
|
|
|
|||
|
|
@ -139,7 +139,13 @@ def _running_stt_pids() -> list[int]:
|
|||
continue
|
||||
if not args:
|
||||
continue
|
||||
if os.path.basename(args[0]) == "stt" and not (utilitaires & set(args)):
|
||||
# Le chemin du bin `stt` peut être argv[0] (exec direct via shebang) ou un
|
||||
# token plus loin (lancement pipx : `python -E /…/bin/stt --window app` →
|
||||
# le `-E` décale le chemin). On cherche un token qui est un *chemin* vers
|
||||
# `stt` (slash + basename `stt`) — ça écarte le `stt` nu d'un
|
||||
# `journalctl -u stt` — et on ignore les sous-commandes utilitaires.
|
||||
is_stt = any("/" in a and os.path.basename(a) == "stt" for a in args)
|
||||
if is_stt and not (utilitaires & set(args)):
|
||||
pids.append(pid)
|
||||
return pids
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue