- 查看linux系统的进程信息
1 import psutil 2 psutil.pids() # 列出所有进程 PID 3 4 p = psutil.Process(2424) # 实例化一个 Process 对象,参数为一进程 PID 5 6 p.name() # 进程名 7 8 p.exe() # 进程 bin 路径 9 10 p.cwd() # 进程工作目录绝对路径 11 12 p.status() # 进程状态 13 14 p.create_time() # 进程创建时间,时间戳格式 15 16 p.uids() # 进程 uid 信息 17 18 p.gids() # 进程 gid 信息 19 20 p.cpu_times() # 进程 CPU 时间信息,包括 user、system 两个 CPU 时间 21 22 p.cpu_affinity() #get 进程 CPU 亲和度,如要设置进程 CPU 亲和度,将 CPU 号作为参数即可 23 24 p.memory_percent() # 进程内存利用率 25 26 p.memory_info() # 进程内存 rss、vms 信息 27 28 p.io_counters() # 进程 IO 信息,包括读写 IO 数及字节数 29 30 p.connections() # 返回打开进程 socket 的 namedutples 列表,包括 fs、family、laddr 31 32 p.num_threads() # 进程开启的线程数
- 附 Popen 案例
1 import psutil 2 from subprocess import PIPE 3 4 # 通过 psutil 的 Popen 方法启动的应用程序,可以跟踪该程序运行的所有相关信息 5 p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"], stdout=PIPE) 6 7 p.name() 8 'python' 9 10 p.username() 11 'root' 12 13 p.communicate() 14 ('hello\n', None) 15 16 p.cpu_times() # 得到进程运行的 CPU 时间,更多方法见上一小节 17 pcputimes(user=0.01, system=0.040000000000000001)
以上代码都是在python34 客户端运行的,需要注意下。
文章摘自:《python 运维实例》一书