Python & Ubuntu 获取进程信息
2010-09-28 13:01
447 查看
备忘,其实是想知道该进程使用的内存状况。
首先要获取系统的内存信息:
def memory_stat():
'''
return the memory info
'''
mem = {}
stat = {}
f = open('/proc/meminfo')
lines = f.readlines()
for line in lines:
if len(line) < 2 : continue
name = line.split(':')[0]
var = line.split(':')[1].split()[0]
mem[name] = long(var) * 1024.0
stat['MemUsed'] = mem['MemTotal'] - mem['MemFree'] - mem['Buffers'] - mem['Cached']
stat['MemTotal'] = mem['MemTotal']
stat['MemFree'] = mem['MemFree']
stat['Buffers'] = mem['Buffers']
stat['Cached'] = mem['Cached']
return stat
因为我下面使用的方法来获取的进程信息,只能知道该进程占内存的百分比。所以必须先获取内存的总量。
接下来定义一个获取进程信息的函数。
def proc_stat(procid):
import commands
ps_stat = None
try:
#获取进程的内存信息
ps_stat = commands.getoutput('ps -fp %s -u' % procid).split('\n')[2].split()
except:
return {}
procInfo = {}
procInfo['PID'] = procid
#这里调用了刚才定义的 memory_stat 获取内存总量,
#然后乘以该进程所占内存的百分比,即为内存使用量
procInfo['MemoryUsed'] = memory_stat()['MemTotal'] * float(ps_stat[3]) / 100
procInfo['Start'] = ps_stat[8]
procInfo['StartCommand'] = ps_stat[10]
return procInfo
接着使用 ipython ,测试 ,先开一个 python 进程 ,假设进程ID为2168,则:
from MachineInfo import proc_stat
ps = proc_stat(2168)
ps
{'MemoryUsed': 3650289.6639999999, #这里是以 byte 为单位,也可以自己进行转换
'PID': 2168,
'Start': '21:56',
'StartCommand': 'python'}
记录完毕。Over~
首先要获取系统的内存信息:
def memory_stat():
'''
return the memory info
'''
mem = {}
stat = {}
f = open('/proc/meminfo')
lines = f.readlines()
for line in lines:
if len(line) < 2 : continue
name = line.split(':')[0]
var = line.split(':')[1].split()[0]
mem[name] = long(var) * 1024.0
stat['MemUsed'] = mem['MemTotal'] - mem['MemFree'] - mem['Buffers'] - mem['Cached']
stat['MemTotal'] = mem['MemTotal']
stat['MemFree'] = mem['MemFree']
stat['Buffers'] = mem['Buffers']
stat['Cached'] = mem['Cached']
return stat
因为我下面使用的方法来获取的进程信息,只能知道该进程占内存的百分比。所以必须先获取内存的总量。
接下来定义一个获取进程信息的函数。
def proc_stat(procid):
import commands
ps_stat = None
try:
#获取进程的内存信息
ps_stat = commands.getoutput('ps -fp %s -u' % procid).split('\n')[2].split()
except:
return {}
procInfo = {}
procInfo['PID'] = procid
#这里调用了刚才定义的 memory_stat 获取内存总量,
#然后乘以该进程所占内存的百分比,即为内存使用量
procInfo['MemoryUsed'] = memory_stat()['MemTotal'] * float(ps_stat[3]) / 100
procInfo['Start'] = ps_stat[8]
procInfo['StartCommand'] = ps_stat[10]
return procInfo
接着使用 ipython ,测试 ,先开一个 python 进程 ,假设进程ID为2168,则:
from MachineInfo import proc_stat
ps = proc_stat(2168)
ps
{'MemoryUsed': 3650289.6639999999, #这里是以 byte 为单位,也可以自己进行转换
'PID': 2168,
'Start': '21:56',
'StartCommand': 'python'}
记录完毕。Over~
相关文章推荐
- 摆脱DLL"地狱"的困扰之获取进程信息
- Cron 的在ubuntu 定时执行自己的程序&& Python获取当前 脚本文件的路径。
- Python学习笔记15:标准库之获取进程信息(os包)
- python通过wmi获取windows下进程的信息
- Python 获取操作系统用户进程详细信息
- Python——获取进程信息
- python 获取CPU、内存、硬盘、进程状态信息 代码
- python自动化运维学习------使用模块psutil获取系统cpu、内存、磁盘、网络、进程等信息
- [python&php 网络编程]获取远程机器的信息
- 摆脱DLL"地狱"的困扰之获取进程信息
- 获取系统中所有进程&线程信息
- 72获取内存信息(运行的进程数,可用的总内存,剩余内存)&&获取可用的总内存的BUG的解决
- python 正则表达式获取进程信息文本 ?P 用法
- Windows下如何获取与手机设备有关的进程信息(Python版)
- python并发获取snmp信息及性能测试
- python获取mp3文件信息的方法
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
- 【Demo 0082】获取特定进程堆信息
- 使用python urllib2获取网页信息
- Python 3.6 利用psutil 获取服务器磁盘信息