cd9fc55572
- Added Job::abort_internal_tasks to abort internal async tasks and drop their join handles. - Updated shell cancellation paths to call this abort logic and handle mutable shell job lists before signaling remaining process groups. - Added Rust and TypeScript tests that verify cancellation prevents background shell jobs from completing after abort.