fuser command does not exist on Windows, causing orphaned bridge processes to never be cleaned up. On crash recovery, the port stays occupied and the next connect() fails with address-already-in-use. Add _kill_port_process() helper that uses netstat+taskkill on Windows and fuser on Linux/macOS. Replace both call sites in connect() and disconnect().