6

Linux x86-64 システムで実行しています。Python (2.6) スクリプトから、特定のプロセス (pid で識別される) が「機能していない」/ゾンビになったかどうかを定期的に確認したいと考えています (これは、プロセス テーブルにエントリが存在するが、プロセスが何もしていないことを意味します)。また、プロセスが消費している CPU の量を把握しておくとよいでしょう (「top」コマンドの表示と同様)。

Pythonでこれらを取得する方法について、誰かが私にいくつかの指針を教えてもらえますか?

4

2 に答える 2

20

psutilライブラリを使用します:

import psutil

proc = psutil.Process(pid)
if proc.status() == psutil.STATUS_ZOMBIE:
    # Zombie process!
于 2013-03-11T18:56:56.987 に答える
3

以下のようにPythonでトップの結果を得ることができます:

linux:

import sys, os
f = os.popen("top -p 1 -n 1", "r")
text = f.read()
print text

アップデート

windows:

from os  import popen
from sys import stdin

ps = popen("C:/WINDOWS/system32/tasklist.exe","r")
pp = ps.readlines()
ps.close()

# wow, look at the robust parser!
pp.pop(0)       # blank line
ph = pp.pop(0)  # header line
pp.pop(0)       # ===

print ("%d processes reported." % len(pp))
print ("First process in list:")
print (pp[0])

stdin.readline()
于 2013-03-11T19:00:35.783 に答える