Win32_Processor クラスを使用して LoadPercentage 変更イベントを監視するにはどうすればよいですか?
import wmi
c= wmi.WMI()
x = [cpu.LoadPercentage for cpu in c.Win32_Processor()]
CPU 使用率が 80% 未満に低下したかどうかを知るには、watch for() メソッドをどこに適用する必要がありますか?
ありがとう。シヴァ
私はそのライブラリを使用していませんが、クエリの例を次に示します。
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の代わりにperfWMIクラスの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