Uyku tutmadı ve görev yöbeticisi gibi bir proje ile geldim.
Bu Python uygulaması, sisteminizdeki çalışan tüm uygulamaları izlemenizi ve yönetmenizi sağlar.
Uygulama, PyQt5 kullanılarak geliştirildi.
- **Uygulama İzleyici:** Sistemdeki çalışan tüm uygulamaları ve onların dosya yolunu görüntüler.
- **Filtreleme:** Belirli anahtar kelimelere göre uygulamaları filtreler. (ör. chrome, python)
- **Sonlandırma:** Kullanıcı, belirtilen bir işlemi sonlandırabilir.
- **Kritik İşlemler:** Sistem için kritik olan işlemler (ör. svchost, explorer.exe) kırmızı renk ile işaretlenir.
- **Görsel Tasarım:** Koyu tonlar ve kırmızı-vurgulu butonlarla hacker temalı, şık bir tasarım.
- **Filtreleme:** Kullanıcı, arama kutusuna istediği kelimeleri yazarak uygulamaları filtreleyebilir.
- **Sonlandırma Butonu:** Belirtilen işlem adı ile o işlemi sonlandırabilir.
Uygulamanın İşleyişi
1. **Uygulama Başlatma:** Çalışan tüm uygulamalar arka planda sürekli izlenir ve gösterilir.
2. **Filtreleme:** Kullanıcı, örneğin "chrome" veya "python" yazarak aradıklarını hızlıca bulabilir.
3. **Sonlandırma:** Kullanıcı istediği bir işlemi sonlandırmak için işlem adını yazıp "
- Herhangi bir işlem adı yazıldığında, o işlem anında sonlandırılabilir.
- Kritik sistem işlemleri kullanıcıya zarar vermemesi için renkli bir şekilde ayarlandı.
- Sürekli güncellenen sistem durumu ile kullanıcılar anında bilgilendirilir.
Kod
Python:
import sys
import psutil
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QTextEdit, QLabel, QLineEdit, QHBoxLayout
from PyQt5.QtCore import Qt, QTimer
class IslemIzleyici(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle(" Çalışan Uygulamalar")
self.setGeometry(100, 100, 900, 600)
self.setStyleSheet("""
QWidget {
background-color: #1F1F1F;
color: white;
font-size: 14pt;
font-weight: bold;
}
QPushButton {
background-color: #333333;
color: white;
font-size: 14pt;
border-radius: 10px;
padding: 10px;
}
QPushButton:hover {
background-color: #f22800;
color: black;
}
QLineEdit, QTextEdit {
background-color: #121212;
color: white;
border: 2px solid #f22800;
border-radius: 10px;
padding: 5px;
}
QLabel {
color: white;
font-size: 16pt;
border: 2px solid #f22800;
padding: 10px;
font-size: 18px;
}
QLineEdit::placeholder {
color: #f22800;
}
QTextEdit {
border-radius: 10px;
font-size: 12pt;
padding: 10px;
background-color: #121212;
}
""")
layout = QVBoxLayout()
self.etiket = QLabel("🔍 Çalışan Uygulamalar")
self.etiket.setFont(QFont("Arial", 16, QFont.Bold))
self.etiket.setAlignment(Qt.AlignCenter)
layout.addWidget(self.etiket)
self.islem_metni = QTextEdit()
self.islem_metni.setReadOnly(True)
layout.addWidget(self.islem_metni)
filtre_layout = QHBoxLayout()
self.filtre_input = QLineEdit()
self.filtre_input.setPlaceholderText("Filtrele (örn: kırmızı, sarı, chrome, python)")
self.filtre_buton = QPushButton("🔍 Filtrele")
self.filtre_buton.clicked.connect(self.islem_yukle)
filtre_layout.addWidget(self.filtre_input)
filtre_layout.addWidget(self.filtre_buton)
layout.addLayout(filtre_layout)
self.sonlandir_input = QLineEdit()
self.sonlandir_input.setPlaceholderText("Sonlandırılacak işlem adı (örn: chrome.exe, python.exe)")
layout.addWidget(self.sonlandir_input)
self.sonlandir_buton = QPushButton("❌ Sonlandır")
self.sonlandir_buton.clicked.connect(self.sonlandir_islem)
layout.addWidget(self.sonlandir_buton)
self.saatli_yenileme = QTimer(self)
self.saatli_yenileme.timeout.connect(self.islem_yukle)
self.saatli_yenileme.start(5000)
self.setLayout(layout)
self.islem_yukle()
def islem_yukle(self):
self.islem_metni.clear()
filtre_metni = self.filtre_input.text().lower().strip()
kritik_islemler = [
"System", "svchost.exe", "explorer.exe", "dwm.exe", "lsass.exe", "csrss.exe", "smss.exe"
]
islem_renkleri = {
"kırmızı": "red",
"sarı": "yellow",
}
for proc in psutil.process_iter(attrs=['name', 'exe']):
try:
isim = proc.info['name']
yol = proc.info['exe'] or "Bilinmiyor"
if isim.lower() in [p.lower() for p in kritik_islemler]:
renk = "kırmızı"
elif "chrome" in isim.lower() or "python" in isim.lower():
renk = "sarı"
else:
renk = None
if filtre_metni:
if filtre_metni not in isim.lower() and (renk is None or filtre_metni not in renk):
continue
if renk == "kırmızı":
metin = f"<font color='red'>🔹 {isim} - 📂 {yol}</font>\n"
elif renk == "sarı":
metin = f"<font color='yellow'>🔹 {isim} - 📂 {yol}</font>\n"
else:
metin = f"🔹 {isim} - 📂 {yol}\n"
self.islem_metni.append(metin)
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
def sonlandir_islem(self):
islem_adi = self.sonlandir_input.text().strip().lower()
if not islem_adi:
return
for proc in psutil.process_iter(attrs=['name']):
try:
if proc.info['name'].lower() == islem_adi:
proc.terminate()
self.islem_metni.append(f"<font color='red'>❌ {islem_adi} sonlandırıldı!</font>\n")
break
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
self.islem_yukle()
if __name__ == "__main__":
app = QApplication(sys.argv)
pencere = IslemIzleyici()
pencere.show()
sys.exit(app.exec_())
EKRAN GÖRÜNTÜSÜ





