Kick

Diski kim tutuyor, gör. Sonra güvenle çıkar.

"Disk çıkarılamadı, bir veya daha fazla program kullanıyor olabilir." macOS böyle der ve susar. Kick sormaya devam eder: hangi uygulama, hangi dosya, hangi klasör. Sonra tek tuşla o uygulamalardan nazikçe çıkmalarını ister, diski tekrar kontrol eder ve çıkarır. Zorla sökme yok, ani öldürme yok. Ücretsiz ve açık kaynak.

macOS 14+ · Apple Silicon ve Intel · Developer ID imzalı + notarize · MIT lisansı · English

Kick
KickExternal disks, explained.
345-BACKUP2 TB · ExFAT
✓
!
2 apps or services are using this diskReview what Kick can quit before you continue.
P
PreviewIt has one item open on this disk.→ Kick will ask this app to quit.
>_
zshStarted from TerminalIts current folder is on this disk.! Change the terminal folder or close its window.Show TerminalStop…
SafelyKick
Check Again

Engelleyen iki süreç: Preview'dan nazikçe çıkması istenir, Terminal'e "klasörü değiştir" denir. Stop en son çare.

Sebebi söyler

"Bir program kullanıyor" yerine hangi program, hangi dosya, hangi klasör. Uygulama adı ve simgesi, onu açan uygulama ("Terminal'den başlatıldı"), PID ve açık yollar. Aynı diskteki APFS + exFAT bölümler tek disk olarak görünür.

Nazikçe çözer

Safely Kick yalnız normal Mac uygulamalarından, yalnız okuma yapıyorlarsa çıkmalarını ister — menüdeki Quit gibi. Kaydedilmemiş işin varsa uygulama sorar. Sonra diski yeniden kontrol eder, temizse çıkarır.

Zorla değil, açıkça

Yazma yapan, yedekleyen, sync eden, sanal makine çalıştıran, terminal olan veya macOS'a ait süreçlere kendiliğinden dokunmaz; ne yapman gerektiğini söyler. İnatçı olana Stop: sen seçersin, sen onaylarsın, tek bir nazik durdurma isteği gider.

Ücretsiz, açık, dürüst

MIT lisansı. Reklam yok, hesap yok, "Pro" yok. Developer ID imzalı, Apple notarize. Ne yaptığı aşağıda ve kaynak kodda.

Nasıl çalışır?

Kick önce macOS'un kendi normal eject komutunu verir (Finder'daki ⏏ ile aynı). Disk temizse iş biter. macOS "meşgul" hatası döndürürse Kick lsof ile o diskte açık dosyası ya da çalışma klasörü olan her süreci bulur; her birini uygulama adı, başlatan uygulama, PID ve başlangıç zamanıyla eşler.

Safely Kick yalnız uygun uygulamalara normal quit isteği gönderir, en fazla birkaç saniye bekler, diski yeniden tarar ve ancak hiçbir şey kalmadıysa eject'i tekrar dener. Her eject'ten önce diskin fiziksel kimliğini (IOKit kaydı, medya ve volume UUID'leri, bağlama yolları) yeniden doğrular; aynı yola takılmış başka bir disk asla yanlışlıkla çıkarılmaz.

Stop ayrı bir butondur ve son aşamadır. Sen bir süreci seçersin, Kick ne olacağını ve varsa riskini yazar, sen onaylarsın. Kick taze bir tarama alır, aynı sürecin hâlâ diski tuttuğunu doğrular ve tek bir istek gönderir: uygulamaysa normal quit, komut satırı aracıysa tek bir SIGTERM. Süreç aldırmazsa disk takılı kalır, Kick neyin açık kaldığını gösterir.

Ayrıntı: README — How it works

Açık konuşalım

Sürüm notları

v1.0.0güncel

  • İlk yayın: harici diskleri listeler, normal eject dener, engelleyen süreçleri adı, simgesi, başlatan uygulaması, PID'si ve açık yollarıyla gösterir.
  • Safely Kick: uygun uygulamalara nazik quit isteği, yeniden tarama, güvenli eject. Kimlik doğrulamalı (disk ve süreç).
  • Show: engelleyen uygulamayı (örneğin Terminal'i) öne getirir. Stop: son çare, onaylı, tek istek, asla SIGKILL.
  • Universal binary (Apple Silicon + Intel), macOS 14+. Developer ID imzalı, Apple notarize.

Kurulum

  1. Kick-1.0.0-macOS.zip dosyasını indir (yedek: site kopyası), aç, Kick.app'i Uygulamalar klasörüne taşı.
  2. Aç. Uygulama Apple tarafından notarize edildi; uyarısız açılır.
  3. Diskini seç, Eject'e bas. macOS reddederse Kick sebebini ve sonraki adımı gösterir.

Kaynaktan derleme:

git clone https://github.com/ofbakirci/kick
cd kick
swift test --disable-sandbox
./script/build_and_run.sh        # dist/Kick.app

SHA-256 özetleri: SHA256SUMS