PythonでCPUの情報やメモリの情報を知りたい場合があると思います。そのような場合、「psutil」を用いることで簡単に情報を取得する事が可能です。
ここでは、「psutil」の使用方法についてまとめています。
この記事の対象
psutilとは
「psutil」はPCの情報を取得する事ができるライブラリです。ちなみにpsutilはpython system and process utilitiesの略になるようです。
外部ライブラリなのでインストールする必要があります。
$ pip install psutil
起動中のプロセスIDの取得
import psutil
for proc in psutil.process_iter():
print(proc.pid)
「psutil.process_iter
()」は実行中のプロセス情報を取得する関数になります。
pidはプロセスIDを取得するキーになります。
出力は下記のようになります。
800
起動中モジュールの取得
import psutil
for proc in psutil.process_iter():
try:
print(proc.exe())
except psutil.AccessDenied:
print('(AccessDenied)')
起動しているモジュールを取得する場合は「.exe」になります。
C:\Windows\System32\services.exe
上記のように出力されます。
起動中モジュールのコマンドラインの取得
import psutil
for proc in psutil.process_iter():
try:
print('proc.cmdline()')
except psutil.AccessDenied:
print('(AccessDenied)')
起動中のモジュールのコマンドラインを取得するには「.cmdline()」を指定することで可能です。
結果は以下のようになります。
['C:\\Windows\\System32\\RuntimeBroker.exe', '-Embedding']
~~~~
起動中モジュールのカレントディレクトリの取得
import psutil
for proc in psutil.process_iter():
try:
print(proc.cwd())
except psutil.AccessDenied:
print('(AccessDenied)')
起動中モジュールのカレントディレクトリを取得する方法は「.cwd()」になります。
結果は以下のように出力されます。
C:\Program Files\WindowsApps\Microsoft.XboxGamingOverlay_5.823.1271.0_x64__8wekyb3d8bbwe
~~~~
起動中モジュールの状態の取得
import psutil
for proc in psutil.process_iter():
try:
print(proc.status())
except psutil.AccessDenied:
print('(AccessDenied)')
実行中のモジュールのStatusを取得する場合は「.status()」になります。
結果は以下のように出力されます。
running
stopped
running
~~~~
メモリ容量の取得
import psutil
print(psutil.virtual_memory().total)
メモリ容量の取得は「psutil.virtual_memory().total」になります。
出力結果は以下のようになります。8GBのPCの場合になります。
8462848000