python psutil 进行系统管理 no.2

  • 查看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
', None)
15 
16 p.cpu_times() # 得到进程运行的 CPU 时间,更多方法见上一小节
17 pcputimes(user=0.01, system=0.040000000000000001)

以上代码都是在python34 客户端运行的,需要注意下。

文章摘自:《python 运维实例》一书

原文地址:https://www.cnblogs.com/zeopean/p/5415883.html