Programlama

Ağ Bağlantılarıyla Sıralanmış Proses Listesi

Reklam

Bu Python scripti, sistemdeki her bir süreç için aktif ağ bağlantılarını sayar ve ardından bağlantı sayısına göre bu süreçleri sıralayarak görüntüler.

📜 Kod:

import psutil
import time

# Başlangıç snapshot
net_usage_start = {}
for proc in psutil.process_iter(['pid', 'name']):
    try:
        net_io = proc.net_connections(kind='inet')
        net_usage_start[proc.pid] = len(net_io)
    except (psutil.NoSuchProcess, psutil.AccessDenied):
        continue

# Bekleme süresi
time.sleep(1)

# 1 saniye sonra tekrar ölçüm
process_list = []
for proc in psutil.process_iter(['pid', 'name']):
    try:
        net_io = proc.net_connections(kind='inet')
        conn_now = len(net_io)
        conn_before = net_usage_start.get(proc.pid, 0)
        diff = conn_now - conn_before
        process_list.append({'pid': proc.pid, 'name': proc.info['name'], 'conn_diff': diff, 'conn_now': conn_now})
    except (psutil.NoSuchProcess, psutil.AccessDenied):
        continue

# Sıralama: bağlantı sayısına göre
sorted_processes = sorted(process_list, key=lambda x: x['conn_now'], reverse=True)

# Sonuçları yazdır
print(f"{'PID':>6} {'Bağlantı':>10} {'Program Adı'}")
print("-" * 40)
for proc in sorted_processes:
    print(f"{proc['pid']:>6} {proc['conn_now']:>10} {proc['name']}")

# Konsol açık kalsın
input("\nÇıkmak için Enter tuşuna bas...")

📋 Kullanım Talimatları:

  1. Gerekli Kütüphane: psutil modülünü yüklemek için aşağıdaki komutu kullanabilirsiniz: pip install psutil
  2. Scripti Çalıştırma:
    • Terminal veya komut istemcisinde scripti çalıştırın:
    python ağ_siralamali_proses_listesi.py
    • Script çalıştığında, sistemdeki tüm süreçler için aktif ağ bağlantılarını sayacak ve bunları bağlantı sayısına göre sıralayarak konsola yazdıracaktır.
  3. Sonuç:
    • Script, her bir prosesin PID’sini, bağlantı sayısını ve proses adını yazdıracaktır. Bağlantı sayısı en fazla olan süreçler en üstte yer alır.

🖥️ Çıktı Örneği:

PID    Bağlantı Program Adı
----------------------------------------
12345        12 chrome.exe
23456         8 firefox.exe
34567         5 python.exe
45678         3 explorer.exe
...

Çıkmak için Enter tuşuna bas...

🛠️ Açıklamalar:

  • net_connections(kind='inet'): Her bir süreç için aktif ağ bağlantılarını sayar.
  • Bekleme Süresi: İki ölçüm arasındaki farkı görmek için 1 saniye beklenir.
  • Bağlantı Farkı: İlk ve ikinci ölçümler arasındaki fark hesaplanır ve bu değer, her bir sürecin ağ bağlantılarındaki değişikliği gösterir.
  • Sıralama: Bağlantı sayısına göre süreçler sıralanır (en fazla bağlantı olan en üstte).
Reklam
Bu yazı faydalı oldu mu?
Yazar

Kutay Utku

Denediğim, kurduğum ve öğrendiğim teknolojileri sade bir dille anlatıyorum. Sorularını yorumlarda bekliyorum.

Tüm yazıları (661)

Yorumlar

Henüz yorum yapılmamış Düşüncelerini paylaşan ilk kişi sen ol.

Yorum yaz

E-posta adresin yayınlanmaz. Zorunlu alanlar * ile işaretlidir.

Kod paylaşırken <code> etiketini kullanabilirsin.0

Yorumun onaylandıktan sonra yayınlanır.