6

システムがLinuxでCを使用してスタンバイモードに移行しているかどうかを検出する方法を知りたい。WM_POWERBROADCASTその目的でWindowsで呼び出され、スリープモードに移行する前にこのメッセージを送信するメッセージを見つけた。

Linux用のCの代替手段はありますか?

DBusは同じ目的で使用できると聞きましたが、誰かがそれをもっと説明できますか?

4

2 に答える 2

6

ついに私は解決策を見つけました。

そのためにpmユーティリティを使用できます。

シェルスクリプトを/etc/pm/sleep.dフォルダーに置くと、システムがスリープ状態になる直前とシステムが再開された後に自動的に実行されます。

内容は次のようになります


#!/bin/bash
case $1 in
suspend)
    #suspending to RAM
    /home/harikrishnan/Desktop/sleepd Sleeping
    ;;
resume)
    #resume from suspend
    sleep 3
    /home/harikrishnan/Desktop/sleepd Woken
    ;;
esac

ここでは、引数を指定して/ home / harikrishnan / Desktop/sleepedプログラムを実行します

于 2013-01-22T07:50:08.093 に答える
2

Linuxにはそのようなシグナルはありませんが、試すことができます

a)acpidデーモンフック(存在する場合)、acpid構成は通常/etc/acpi
b) DBusデーモンフック(システム上に存在する場合
)c)acpidソースを読み取って信号を取得する方法を確認する
d)独自のカーネルモジュールを書き込む

于 2013-01-17T10:28:51.103 に答える