Proc-CLI: Süreç ve Port Yönetimi İçin Ajan Dostu Semantik CLI Aracı
Kaynak: Hacker News
İçindekiler 7 başlık
Semantik Süreç ve Port Yönetimi Nedir?#
Yazılım geliştirme süreçlerinde yerel sunucuları yönetirken veya açık kalan portları temizlerken lsof, ps ve kill gibi karmaşık komut kombinasyonlarını hatırlamak zaman kaybettirir. proc, macOS, Linux ve Windows üzerinde çalışan semantik bir komut satırı (CLI) aracıdır. Süreçleri doğrudan port, PID, isim veya dosya yoluna göre hedeflemenizi sağlar. Bir portta neyin çalıştığını bulmak, neden orada olduğunu anlamak ve onu durdurmak, ilk denemede tahmin edebileceğiniz tek bir komutla mümkündür. Özellikle otonom kodlama ajanları ve geliştiriciler için sezgisel bir yapı sunar.
Aracın sunduğu temel komut seti (on, why, for, by, in, list, info, ports, tree, orphans, stuck, kill, stop, free, freeze, thaw, unstick, watch, wait) süreç yaşam döngüsünün tamamını kapsar.
Hedefleme ve Komut Örnekleri#
Kaynak metindeki senaryolara sadık kalarak, proc aracının farklı komut ve hedef kombinasyonlarıyla nasıl çalıştığını aşağıda inceleyebilirsiniz:
1. Süreç Sonlandırma (proc kill)#
:3000: 3000 portunu dinleyen süreci anında sonlandırır (SIGKILL). İşlemden önce onay ister ve--dry-runile önizleme sunar. Başlangıçtaki iki nokta üst üste (:) bir portu ifade eder.1234: Yalnızca 1234 numaralı PID'ye sahip süreci anında sonlandırır, başka hiçbir şeye dokunmaz. Sayısal hedefler doğrudan PID olarak algılanır.node: Tümnodesüreçlerini listeledikten ve onay aldıktan sonra sonlandırır. Port veya sayı dışındaki ifadeler süreç adı ve tam komut satırıyla eşleşir; böylecenodemonvenode server.jsgibi süreçler de bulunur.:3000,:8080,node: Virgülle ayrılmış hedefleri birleştirir ve tek bir onay sonrasında hepsini tek seferde sonlandırır. İki kez eşleşen bir sürece yalnızca bir kez işlem uygulanır.node --in .: Editörünüzün veya başka bir projenin süreçlerine dokunmadan, yalnızca mevcut klasördeki (ve alt klasörlerindeki)nodesüreçlerini sonlandırır.
2. Port ve Süreç Sorgulama (proc on)#
:3000: 3000 portunu dinleyen sürecin adını, PID değerini, klasörünü, CPU/bellek kullanımını ve çalışma süresini gösterir.1234: Ters방향ta çalışarak 1234 PID numaralı süreci ve dinlediği tüm portları listeler.node: Her birnodesürecini ve bu süreçlerin dinlediği portları ekrana getirir.:3000,:8080,node: Üç soruyu aynı anda yanıtlar: 3000 ve 8080 portlarında ne var venodesüreçleri hangi portları tutuyor.node --in .: Yalnızca bulunduğunuz dizinde başlatılmışnodesüreçlerini ve bunların portlarını gösterir.
3. Köken ve Ebeveyn Süreç İzleme (proc why)#
:3000: 3000 portundaki süreci üst (parent) süreçleri boyunca geriye doğru takip eder; böylece onu bir terminal sekmesinin mi,tmuxoturumunun mu yoksa editörünüzün mü başlattığını görürsünüz.1234: 1234 numaralı sürece yol açan üst süreç zincirini ve her birinin ne kadar süredir çalıştığını gösterir.node: Hernodesürecini onu başlatan kaynağa kadar geriye doğru izler.:3000,:8080: 3000 ve 8080 portlarını tutan süreçleri her biri için ayrı birer zincir halinde izler.
4. Dosya ve İsim Bazlı Arama (proc for / proc list)#
./server.py:proc forkomutuyla kullanıldığında, mevcut klasördekiserver.pydosyasını çalıştıran süreçleri bulur. Hedef göreceli, mutlak veya~ile başlayan bir dosya yolu olabilir../logs/app.log: Hâlâ log yazmakta olan bir sunucu gibi,app.logdosyasını açık tutan süreçleri tespit eder.node: Adı veya komut satırınodeile eşleşen her süreci (nodemon,node server.jsdahil) listeler.
Geliştiriciler İçin Pratik Çıkarımlar#
Modern yazılım geliştirmede ve AI ajan iş akışlarında proc --in . gibi dizin kapsamlı filtreler, mikroservis projelerinde yanlışlıkla sistemdeki diğer servisleri veya IDE uzantılarını kapatma riskini ortadan kaldırır. Ayrıca --dry-run desteği ve ebeveyn süreç takibi (why), hata ayıklama (debugging) ve sistem gözlemlenebilirliği açısından geliştiricilere büyük hız kazandırır.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- proc-cli.com