1

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

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

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

ありがとう。シヴァ

4

2 に答える 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の代わりにperfWMIクラスの1つを使用することもできます。

于 2011-02-22T16:03:29.490 に答える
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
于 2011-02-22T16:17:41.010 に答える