Açık kaynak proje / 2026
PortTree
Yerel geliştirmede ve CI ortamlarında meşgul portları, zombi prosesleri ve Docker maskelerini sıfır bağımlılıkla tespit eden Python CLI aracı.
Bağlam
Sunucular portları temiz şekilde serbest bırakamadığında EADDRINUSE çökmeleri ve sahipsiz soketler geliştirme iş akışlarını ve CI testlerini kesintiye uğratır.
Problem
Körlemesine 'kill -9 <PID>' çalıştırmak çoğu zaman işe yaramaz; çünkü denetleyici prosesler iş parçacıklarını anında yeniden başlatır veya soket docker-proxy ardında maskelenir.
Yaklaşım
PortTree, Linux'ta /proc/net/tcp ve soket inode'larını doğrudan ayrıştırır, Windows'ta ctypes ile iphlpapi'yi sorgular ve init'e kadar tüm proses ağacını şeffafça kurar.
Sistem mimarisi
Sıfır üçüncü parti bağımlılık; Linux, Windows ve macOS'ta soketten prosese anında haritalama sağlayan doğrudan işletim sistemi çekirdek çağrıları ve bellek tabloları.
Temel kararlar
Güvenli iki aşamalı sonlandırma (SIGTERM ve zaman aşımı sonrası SIGKILL) ve CI ön kontrolleri için makine tarafından okunabilir JSON çıktısı sunar.
Sonuç
PyPI üzerinde porttree adıyla yayınlandı. psutil gerektirmeden ASCII ağaç görselleştirmesi, port uygunluk denetimleri ve güvenli soket temizliği sağlar.
Öğrenimler
Doğrudan çekirdek arayüzü ayrıştırma, hafif Alpine ve CI konteynerlerindeki derleme yükünü ve wheel bağımlılık sorunlarını tamamen ortadan kaldırır.