1


0

python wmiでWin32_Processor LoadPercentageの変更を監視する方法は?

Win32_Processorクラスを使用してLoadPercentage変更イベントを監視するにはどうすればよいですか?

import wmi
c= wmi.WMI()
x = [cpu.LoadPercentage for cpu in c.Win32_Processor()]

CPU使用率が80%未満に低下したかどうかを確認できるように、watch for()メソッドをどこに適用する必要がありますか?

ありがとう。 Siva

2 回答


1


私はそのライブラリを使用しませんが、クエリの例を次に示します。

from win32com.client import Moniker

wmi = Moniker('winmgmts:')
events = wmi.ExecNotificationQuery("Select * From __InstanceModificationEvent "
                                   "Within 1 "
                                   "Where TargetInstance Isa 'Win32_Processor' "
                                   "And TargetInstance.LoadPercentage > 10")

processor = events.NextEvent().TargetInstance

print processor.LoadPercentage

Win32_Processorの代わりにperf WMIクラスの1つを使用することもできます。


1


for()メソッドの意味がわかりませんが、ループに入れることができます。

kMaxLoad = 80
while True:
    x = [cpu.LoadPercentage for cpu in c.Win32_Processor()]
    if max(x) < kMaxLoad:
        break
print "okay, load is under %i" % kMaxLoad