Linux サーバーのすべてのプロセス情報を取得したいと考えています。
PID, USER, CPU% , COMMAND ...
まさに、これらの情報を Python スクリプトで取得したいと考えています。試してみ
a,b = commands.getstatusoutput('top -n 1')
ました これにより、CPU% で並べ替えられた約 20 行の結果が得られましたが、さらに、約 40 または 50 行の結果が必要です。
どうすればいいですか?
次のように psutil を使用します。各 proc で 1 秒待機する必要があります。top コマンドのような cpu_percent をすばやく取得するにはどうすればよいですか。
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'username', 'cpu_percent', 'name'])
pinfo['cpu_percent'] = proc.cpu_percent(interval=1)
if pinfo['cpu_percent'] > 0:
print(pinfo)
except psutil.NoSuchProcess:
pass