システムがLinuxでCを使用してスタンバイモードに移行しているかどうかを検出する方法を知りたい。WM_POWERBROADCAST
その目的でWindowsで呼び出され、スリープモードに移行する前にこのメッセージを送信するメッセージを見つけた。
Linux用のCの代替手段はありますか?
DBusは同じ目的で使用できると聞きましたが、誰かがそれをもっと説明できますか?
ついに私は解決策を見つけました。
そのために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プログラムを実行します
Linuxにはそのようなシグナルはありませんが、試すことができます
a)acpid
デーモンフック(存在する場合)、acpid構成は通常/etc/acpi
b) DBusデーモンフック(システム上に存在する場合
)c)acpid
ソースを読み取って信号を取得する方法を確認する
d)独自のカーネルモジュールを書き込む