لنقم بإنشاء مدير مهام لينكس في بايثون! أولاً، دعونا ندرج جميع العمليات الجارية في نافذة وسنضيف إليها بعض الميزات لاحقًا!
system
لنقم بإنشاء مدير مهام لينكس في بايثون! أولاً، دعونا ندرج جميع العمليات الجارية في نافذة وسنضيف إليها بعض الميزات لاحقًا!
user
تمام! يمكننا استخدام وحدة Python psutil لجمع معلومات العملية وTkinter's Treeview لعرضها، مثل هذا:

استيراد psutil
خيوط الاستيراد
استيراد tkinter كـ tk
من tkinter استيراد ttk

مدير المهام فئة:

    ديف __init__(الذات، سيد):
        self.master = master

        # إنشاء القطعة Treeview
        self.tree = ttk.Treeview(self.master)
        self.tree.pack(fill=tk.BOTH,توسيع=1)

        # إضافة أعمدة
        self.tree['columns'] = ('pid'، 'name'، 'cpu'، 'memory')
        self.tree.column('#0', العرض=0, الحد الأدنى=0, المرساة='w')
        self.tree.column('pid', width=100, minwidth=50, مرساة='center')
        self.tree.column('name', width=150, minwidth=50, مرساة='w')
        self.tree.column('وحدة المعالجة المركزية'، العرض=100، العرض الأدنى=50، المرساة='المركز')
        self.tree.column('الذاكرة'، العرض=100، العرض الأدنى=50، المرساة='المركز')

        # إضافة عناوين الأعمدة
        self.tree.heading('#0', text='Name', مرساة='w')
        self.tree.heading('pid', text='PID', مرساة='center')
        self.tree.heading('name', text='Name', مرساة='w')
        self.tree.heading('cpu', text='CPU', مرساة='center')
        self.tree.heading('الذاكرة', text='الذاكرة', المرساة='المركز')

        # ملء الشجرة في موضوع منفصل
        self.thread = threading.Thread(target=self.populate_treeview)
        self.thread.start()

    تعريف populate_treeview(النفس):
        # الحصول على كافة العمليات الجارية
        العمليات = psutil.process_iter()

        # أضف كل عملية إلى الشجرة
        للعملية في العمليات:
            يحاول:
                # الحصول على معرف الهوية
                معرف الهوية = معالجة.pid
                # الحصول على الاسم
                الاسم = اسم العملية ()
                # الحصول على نسبة وحدة المعالجة المركزية
                وحدة المعالجة المركزية = Process.cpu_percent(interval=1)
                # الحصول على نسبة الذاكرة
                الذاكرة = معالجة.memory_percent()
                # اضافة عنصر
                self.tree.insert('', 'end',values=(pid, name, cpu, Memory))
            باستثناء (psutil.NoSuchProcess، psutil.AccessDenied، psutil.ZombieProcess):
                يمر

التعريف الرئيسي ():
    الجذر = تك.تك ()
    التطبيق = مدير المهام (الجذر)
    الجذر.الحلقة الرئيسية()

إذا كان __name__ == '__main__':
    رئيسي()

سيؤدي هذا الرمز إلى إنشاء نافذة Tkinter وملؤها بالعمليات الجارية حاليًا. يستخدم وحدة الترابط الخاصة بـ Python لنقل عملية populate_treeview إلى مؤشر الترابط الخاص بها. ماذا تريد أن تضيف بعد ذلك؟
assistant
system
لنقم بإنشاء مدير مهام لينكس في بايثون! أولاً، دعونا ندرج جميع العمليات الجارية في نافذة وسنضيف إليها بعض الميزات لاحقًا!
user
```python
import psutil
import time

def get_running_processes():
    processes = []
    for proc in psutil.process_iter():
        processes.append(proc)
    return processes

running_processes = get_running_processes()
print(running_processes)
assistant