CustomTempDir 的删除挂在 Drop 上,宿主被 SIGKILL、panic-abort 或走
std::process::exit() 时不会执行。0.2.9 的 PR_SET_PDEATHSIG 只保证浏览器进程
随宿主一起死,--user-data-dir 没人删。库自己的注释把这推给「系统会清临时
目录」——这在桌面 Linux 成立,Termux 的 $PREFIX/tmp 没有任何东西会清,于是
只增不减:09-18 到 09-19 一天就在本机堆了 32 个。
profile 目录现在带一个 .cdp-html-shot.lock,建立它的进程持 flock。进程无论
怎么死内核都会放锁,所以下一次启动扫同根下的 cdp-shot_*,锁能拿到的就是宿主
已经不在了,删掉。三个前提各自防一种误删:年龄不足 60s 的跳过(并发启动刚
建好、还没上锁的目录)、没有锁文件的跳过(旧版本建的,可能还在用)、不叫
cdp-shot_<...> 的不看(共享临时目录里的别的东西)。
另外给 build_args 加默认的 --disable-features=OptimizationGuideModelDownloading。
每个新 profile 都会重下端上优化模型(约 2.8 GB),一个残留目录因此从几十 KB
变成 200 MB 起。调用方自带 --disable-features 时把这一项并进它的列表,因为
Chromium 只认最后一个。
新增 6 个单测:孤儿目录被回收、在用目录被跳过、无锁文件目录被跳过、形近目录
不动、宽限期内不删、模型下载默认关闭且调用方覆盖后仍关闭。