资料来源:
https://pypi.python.org/pypi/psutil
import psutil
psutil.cpu_times()
psutil.cpu_count()#cpu逻辑个数
psutil.cpu_count(logical=False) #cpu物理个数
users_count = len(psutil.users()) #用户个数
mem = psutil.virtual_memory() #内存完整信息
psutil.swap_memory() #swap分区信息
psutil.disk_io_counters() #磁盘总IO信息
psutil.disk_io_counters(perdisk=True) #各分区IO信息
psutil.net_io_counters()
psutil.net_io_counters(pernic=True) #网络信息和个端口
psutil.users() #当前登录用户信息
import datetime
datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") #系统开机时间
for p in psutil.process_iter():
....: print(p) #列出所有进程
p = psutil.Process() #实例化一个Process对象,参数为一进程PID
p.name() #进程名
p.exe() #进程bin路径
p.cwd() #进程工作目录绝对路径
p.status() #进程状态
datetime.datetime.fromtimestamp(p.create_time()).strftime("%Y-%m-%d %H:%M:%S") #进程创建时间
p.cpu_times() #进程CPU时间信息,包括user、system两个CPU时间
p.num_threads() #进程开启的线程数
from subprocess import PIPE #通过psutil的Popen方法启动的应用程序,可以跟踪该程序运行的所有相关信息
p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"], stdout=PIPE)
p.name()
p.username()
p.communicate()
p.kill()