simple module for getting amount of memory used by a specified user's processes on a unix system.it uses unix ps utility to get the memory usage for a specified username and pipe it to awk for summing upper application memory usage and return the total.python's popen() from subprocess module is used for spawning ps and awk.import subprocessclass memorymonitor(object): def __init__(self, username): create new memorymonitor instance. self.username = username def usage(self): return int containing memory used by user's processes. self.process = subprocess.popen(ps -u %s -o rss | awk '{sum+=$1} end {print sum}' % self.username, shell=true, stdout=subprocess.pipe, ) self.stdout_list = self.process.communicate()[0].split('\n') return int(self.stdout_list[0])
将上面的代码保存为:memorymonitor.py
调用方法如下:
from memorymonitor import memorymonitormemory_mon = memorymonitor('username')used_memory = memory_mon.usage()
希望本文所述对大家的python程序设计有所帮助。
