13

私は現在、一定期間 (たとえば、30 分) ネットワーク トラフィックが特定のしきい値を下回ったときにコンピューターをシャットダウンするプログラムを作成しています。

これが私が取り組んだ疑似コードで、正しいロジックが得られます。

BEGIN SUBPROGRAM
    loopFlag = True
    Wait 5 minutes    # Allows time for boot and for the machine to settle
    traffic = 0
    WHILE loopFlag = True DO
        FOR sec = 0 to 3600
            traffic += *network.traffic()*
            wait 1 second
        ENDFOR
        IF traffic < trafficThreshold THEN
            loopFlag = False
        ENDIF
    ENDWHILE
    os.ShutDown()
END SUBPROGRAM

私が探しているのは、これを測定できる Python モジュールまたはライブラリです。

私はこれについてさまざまな調査を行っ てきましたが、言語に関係なく、これらは私が求めている種類の機能ではないようです。

これを実装する方法についてのアイデアはありますか?

4

1 に答える 1

24

システムのネットワーク トラフィックを確認するには、以下を調べることをお勧めしますpsutil

>>> psutil.net_io_counters(pernic=True)
{'lo': iostat(bytes_sent=799953745, bytes_recv=799953745, packets_sent=453698, packets_recv=453698), 
 'eth0': iostat(bytes_sent=734324837, bytes_recv=4163935363, packets_sent=3605828, packets_recv=4096685)}
>>>

また、OS をシャットダウンするには、Windows を使用している場合は、OS の再起動、シャットダウン、休止状態、スリープ、ウェイクアップ (Windows Python) を確認してください。

linux/unixを使用している場合は、subprocessモジュールを使用してshutdown/rebootコマンドを送信します。

于 2012-01-22T04:03:59.063 に答える