這是我想出的代碼。似乎正常工作,並避免太多的字符串解析。變量名我解包來自proc(5)
人頁面,這可能是比提取字符串解析/proc/self/status
操作系統信息的更好的方法。
def get_vsize():
parts = open('/proc/self/stat').read().split()
(pid, comm, state, ppid, pgrp, session, tty, tpgid, flags, minflt, cminflt,
majflt, cmajflt, utime, stime, cutime, cstime, counter, priority, timeout,
itrealvalue, starttime, vsize, rss, rlim, startcode, endcode, startstack,
kstkesp, kstkeip, signal, blocked, sigignore, sigcatch, wchan,
) = parts[:35]
return int(vsize)
def memory_watcher():
while True:
time.sleep(120)
if get_vsize() > 120*1024*1024:
os.kill(0, signal.SIGTERM)
你能告訴我們要避免哪個庫嗎? – 2010-11-11 07:23:43
哈,好電話。不,我不能。抱歉。 – Jerub 2010-11-11 07:47:01