fix(browser-operator): PID аренды только настоящий (/proc/$$/winpid), driver.lock руками не трогать

This commit is contained in:
2026-09-11 23:31:37 +03:00
parent ac0c41feb8
commit 252e22ec80
2 changed files with 11 additions and 2 deletions

Binary file not shown.

View File

@@ -47,11 +47,20 @@ description: >
```bash
BL="$HOME/.config/browser-harness/bin/browser-lease.sh"
bash "$BL" acquire --holder "pi:$$" --ttl 900 --pid $$ --tool browser # 0 = взял, 3 = занято, 2 = ошибка
HOLD="manual:$$" # метка держателя
MYPID="$(cat /proc/$$/winpid 2>/dev/null || echo 0)" # НАСТОЯЩИЙ windows-PID
bash "$BL" acquire --holder "$HOLD" --ttl 900 --pid "$MYPID" --tool browser # 0 = взял, 3 = занято, 2 = ошибка
# … работа …
bash "$BL" release --holder "pi:$$"
bash "$BL" release --holder "$HOLD"
```
**PID — только настоящий.** MSYS `$$` это НЕ windows-PID: по нему живость аренды врёт
(мёртвый держатель выглядит живым, живой — мёртвым). В bash бери `/proc/$$/winpid`,
в pi/Node — `process.pid`; не знаешь — передай `0` («неизвестен», живость решит TTL).
**`driver.lock` руками не трогай** (в том числе пустой или «битый» — это окно чужой
записи): отбор мёртвой аренды делает CLI по `ts`/TTL/мёртвому PID. Чужую аренду не снимай.
Контракт аренды (формат файла, TTL, кого связывать): вики mappa
`concepts/browser-lease-contract`.