shutdownPrelaunch(): Promise<void>
Kills the pre-launched Chrome process and awaits its async temp-dir cleanup. Must be called before process.exit() so the event loop is still alive and the async rm() inside spawn's close handler can run to completion. Safe to call multiple times or when Chrome was never pre-launched (no-op).
await shutdownPrelaunch(); // no-op when nothing was pre-launched; idempotent otherwise