ejector
Names the process that keeps your drive busy.
The “disk is in use” dialog, with answers: ejector lists mounted volumes, finds every process holding files open on them and lets you stop the process and eject the drive, one keystroke each.
brew install takshakmudgal/tools/ejector- Version
- 0.1.1, 26 May 2026
- Tests
- 40
- Rust
- 2,674 lines
- Runs on
- macOS
- Built with
- ratatui, crossterm, tokio, libc
- License
- MIT
Keys
Read from the source, not the README.
- x
- SIGTERM
- X
- SIGKILL
- e
- eject
- o
- reveal in Finder
- r
- rescan
- tab
- switch pane
How it works
Built on the system's own tools
Volumes come from diskutil, holders from lsof, signals go out through libc::kill and the eject goes back through diskutil.
A false all-clear, fixed
Version 0.1.1 fixed a scan that said a drive was safe to eject while macOS refused to unmount it. lsof only reports processes with files open on the volume, but disk arbitration also counts the session leader (Terminal, Ghostty, login) of any shell holding it. The scan now walks each holder's parent chain with ps and lists those ancestors too.