Skip to content
Takshak Mudgal

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.