Python交互式查看进程信息

实现功能:根据进程号查看进程、根据进程查看进程信息、根据进程号杀进程

 

import psutil
import os 
import time

def desc():
    choice = input("""1、根据进程号查看进程信息
2、根据进程查看进程信息
3、根据进程号杀进程
q、退出
请输入选项:""")
    return choice

def info_pid(pid):
    print("名称\tPID\t内存占用率\tCPU占用率\tCMD")
    for proc in psutil.process_iter():
        if proc.pid == pid:
            name = proc.name()
            pid_info = proc.pid
            memory_percent = proc.memory_percent()
            cpu_percent = proc.cpu_percent()
            cmd = ' '.join(proc.cmdline())
            print("{0}\t{1}\t{2}\t{3}\t{4}".format(name,pid_info,memory_percent,cpu_percent,cmd))

def info_name(process_name):
    print("名称\tPID\t内存占用率\tCPU占用率\tCMD")
    for proc in psutil.process_iter():
        if process_name in proc.name():
            name = proc.name()
            pid_info = proc.pid
            memory_percent = proc.memory_percent()
            cpu_percent = proc.cpu_percent()
            cmd = ' '.join(proc.cmdline())
            print("{0}\t{1}\t{2}\t{3}\t{4}".format(name,pid_info,memory_percent,cpu_percent,cmd))

def process_kill(pid):
    os.system("kill -9 {0}".format(pid))

if __name__ == '__main__':
    choice = desc()
    if choice == "1":
        try:
            pid = int(input("请输入PID:"))
        except:
            print("输入PID有误")
            exit()
        info_pid(pid)     
    elif choice == "2":
        process_name = input("请输入进程名称:")
        info_name(process_name)
    elif choice == "3":
        try:
            pid = int(input("请输入PID:"))
        except:           
            print("输入PID有误")
            exit()
        process_kill(pid)
    elif choice == "q":
        exit()     
    else:
        print("输入选项有误")

你可能感兴趣的:(python,开发语言)