Let's create a linux task manager in python! First, let's list all running processes in a window and we'll add some features to it later!
system
Vamos criar um gerente de tarefas Linux no Python!Primeiro, vamos listar todos os processos em execução em uma janela e adicionaremos alguns recursos mais tarde!
user
OK!Podemos usar o módulo Python Psutil para coletar informações do processo e a TreeView de Tknter para exibi -las, assim:

importar psutil
importar rosqueamento
importar tknter como tk
De importar tkter ttk

Classe TaskManager:

    def __init __ (eu, mestre):
        self.master = mestre

        # Criar widget TreeView
        self.tree = ttk.treeview (self.master)
        self.tree.pack (preencher = tk.both, expand = 1)

        # Adicione colunas
        self.tree ['colunas'] = ('pid', 'nome', 'cpu', 'memória')
        self.tree.column ('#0', largura = 0, minwidth = 0, anchor = 'w')
        self.tree.column ('pid', largura = 100, minwidth = 50, âncora = 'centro')
        self.tree.column ('nome', largura = 150, minwidth = 50, âncora = 'w')
        self.tree.column ('cpu', largura = 100, minwidth = 50, âncora = 'centro')
        self.tree.column ('memória', largura = 100, minwidth = 50, âncora = 'center')

        # Adicionar títulos de coluna
        self.tree.heading ('#0', text = 'nome', anchor = 'w')
        self.tree.heading ('pid', text = 'pid', âncora = 'centro')
        self.tree.heading ('nome', text = 'nome', anchor = 'w')
        self.tree.heading ('cpu', text = 'cpu', anchor = 'center')
        self.tree.heading ('memória', text = 'memória', anchor = 'Center')

        # preencher a árvore em um fio separado
        self.Thread = shadering.thread (Target = self.populate_treeview)
        self.thread.start ()

    def POPULE_TREEVIEW (self):
        # Obtenha todos os processos de execução
        processos = psutil.process_iter ()

        # Adicione cada processo à árvore
        Para processo em processos:
            tentar:
                # Obtenha PID
                pid = process.pid
                # Obtenha o nome
                nome = process.name ()
                # Obtenha porcentagem da CPU
                CPU = process.cpu_percent (intervalo = 1)
                # Obtenha porcentagem de memória
                Memory = Process.Memory_Percent ()
                # adicionar Item
                self.tree.insert ('', 'end', valores = (pid, nome, CPU, memória))
            exceto (psutil.nosuchprocess, psutil.accessdenied, psutil.zombieprocess):
                passar

def main ():
    raiz = tk.tk ()
    App = TaskManager (root)
    root.mainloop ()

se __name__ == '__main__':
    principal()

Este código criará uma janela Tkinter e o preencherá nos processos atualmente em execução.Ele usa o módulo de encadeamento do Python para mover o processo Popular_treeView para seu próprio thread.O que você gostaria de adicionar a seguir?
assistant
<|system|>
</s>
<|user|>
Vamos criar um gerente de tarefas Linux no Python!Primeiro, vamos listar todos os processos em execução em uma janela e adicionaremos alguns recursos mais tarde!</s>
<|assistant|>
OK!Podemos usar o módulo Python Psutil para coletar informações do processo e a TreeView de Tknter para exibi -las, assim:

importar psutil
importar rosqueamento
importar tknter como tk
De importar tkter ttk

Classe TaskManager:

    def __init __ (eu, mestre):
        self.master = mestre

        # Criar widget TreeView
        self.tree = ttk.treeview (self.master)
        self.tree.pack (preencher = tk.both, expand = 1)

        # Adicione colunas
        self.tree ['colunas'] = ('pid', 'nome', 'cpu', 'memória')
        self.tree.column ('#0', largura = 0, minwidth = 0, anchor = 'w')
        self.tree.column ('pid', largura = 100, minwidth = 50, âncora = 'centro')
        self.tree.column ('nome', largura = 150, minwidth = 50, âncora = 'w')
        self.tree.column ('cpu', largura = 100, minwidth = 50, âncora = 'centro')
        self.tree.column ('memória', largura = 100, minwidth = 50, âncora = 'center')

        # Adicionar títulos de coluna
        self.tree.heading ('#0', text = 'nome', anchor = 'w')
        self.tree.heading ('pid', text = 'pid', âncora = 'centro')
        self.tree.heading ('nome', text = 'nome', anchor = 'w')
        self.tree.heading ('cpu', text = 'cpu', anchor = 'center')
        self.tree.heading ('memória', text = 'memória', anchor = 'Center')

        # preencher a árvore em um fio separado
        self.Thread = shadering.thread (Target = self.populate_treeview)
        self.thread.start ()

    def POPULE_TREEVIEW (self):
        # Obtenha todos os processos de execução
        processos = psutil.process_iter ()

        # Adicione cada processo à árvore
        Para processo em processos:
            tentar:
                # Obtenha PID
                pid = process.pid
                # Obtenha o nome
                nome = process.name ()
                # Obtenha porcentagem da CPU
                CPU = process.cpu_percent (intervalo = 1)
                # Obtenha porcentagem de memória
                Memory = Process.Memory_Percent ()
                # adicionar Item
                self.tree.insert ('', 'end', valores = (pid, nome, CPU, memória))
            exceto (psutil.nosuchprocess, psutil.accessdenied, psutil.zombieprocess):
                passar

def main ():
    raiz = tk.tk ()
    App = TaskManager (root)
    root.mainloop ()

se __name__ == '__main__':
    principal()

Este código criará uma janela Tkinter e o preencherá nos processos atualmente em execução.Ele usa o módulo de encadeamento do Python para mover o processo Popular_treeView para seu próprio thread.O que você gostaria de adicionar a seguir?</s>
